Найти индекс левого верхнего элеманта квадрата 2х2 с макс суммой+вывезти сумму Помагите написать код
1 1 2 2
3 3 4 4
5 5 6 6
9 9 7 7
Output: 2 0 28
Другие языки программирования и технологии
Дан массив N*N. Найти индекс левого верхнего элеманта квадрата 2х2 с макс суммой+вывезти сумму! Помагите написать код
Раз в выводе присутствует нулевой индекс, то это точно не Pascal!
#include <iostream>
using namespace std;
int main() {
const size_t size = 4;
short matrix[size][size] = {{1,1,2,2},{3,3,4,4},{5,5,6,6},{9,9,7,7}};
for (unsigned r = 0; r < size; r++, cout << endl)
for (unsigned c = 0; c < size; c++)
cout << ' ' << matrix[r][c];
short max = SHRT_MIN, sum;
size_t ir = 0, ic = 0;
for (unsigned r = 1; r < size; r++)
for (unsigned c = 1; c < size; c++) {
sum = matrix[r][c] + matrix[r][c - 1] + matrix[r - 1][c] + matrix[r - 1][c - 1];
if (sum > max) {
max = sum;
ir = r - 1;
ic = c - 1;
}
}
cout << "\n Output: " << ir << ' ' << ic << ' ' << max << endl;
cin.get();
return 0;
}
#include <iostream>
using namespace std;
int main() {
const size_t size = 4;
short matrix[size][size] = {{1,1,2,2},{3,3,4,4},{5,5,6,6},{9,9,7,7}};
for (unsigned r = 0; r < size; r++, cout << endl)
for (unsigned c = 0; c < size; c++)
cout << ' ' << matrix[r][c];
short max = SHRT_MIN, sum;
size_t ir = 0, ic = 0;
for (unsigned r = 1; r < size; r++)
for (unsigned c = 1; c < size; c++) {
sum = matrix[r][c] + matrix[r][c - 1] + matrix[r - 1][c] + matrix[r - 1][c - 1];
if (sum > max) {
max = sum;
ir = r - 1;
ic = c - 1;
}
}
cout << "\n Output: " << ir << ' ' << ic << ' ' << max << endl;
cin.get();
return 0;
}
Игорь Сазонов
Спасибо!
"вывезти"? самовывозом?)))
Андрей Зуенко
Он же написал ПОМАГИТЕ. А вы - только комментарии едкие оставлять :)))
function s(x,y: integer): integer;
begin
s := a[x,y] + a[x+1,y] + a[x,y+1] + a[x+1,y+1];
end;
max := s(1,1);
mx := 1; my := 1;
for x := 1 to w-1 do
for y :=1 to h-1 do
if (max < s(x,y)) then begin max := s(x,y); mx := x; my := y; end;
begin
s := a[x,y] + a[x+1,y] + a[x,y+1] + a[x+1,y+1];
end;
max := s(1,1);
mx := 1; my := 1;
for x := 1 to w-1 do
for y :=1 to h-1 do
if (max < s(x,y)) then begin max := s(x,y); mx := x; my := y; end;
Александр Бугаков
а это на c++?
Александр Бугаков
можете мне на с++ полный код как оно есть скинуть)) щяс экзамены идут просто хД
Похожие вопросы
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Заполнить массив против часовой стрелки начиная с нижнего правого угла размер массива N*N и допустить возможность измене
- Помогите :) Дан массив из n целых чисел. Найти количество встречающихся равных чисел.
- Дан массив а1,...а50. Найти в нем последовательности.. смотрите внутри. Задание на Си. Подскажите с чего начать
- Дан массив размера N. Вывести все двузначные элементы массива и их номера. ПОМОГИТЕ pascal ХЕЛП
- Дан массив размера N.Определить количество его промежутков монотонности.
- . Дан массив из N чисел. Поменять местами элементы, равноудаленные от произвольно задаваемого К-го элемента.
- Дано вещественное число R и массив размера N. Найти элемент массива, который наименее близок к данному числу
- Дан массив N<100 целых чисел. Упорядочить элементы по убыванию и вывести те элементы, которые остались на своих места