C/C++

Написать код на языке Си

Дан целочисленный квадратный массив n×n (2 < n ≤ 7). Найти
строку с наибольшей суммой элементов
#include <stdio.h>
#include <stdlib.h> /* srand */
#include <time.h> /* time */

int main()
{
const int size = 7; /* по максимальному количеству */
int M[size][size];
int n;
do
{
printf("Введите n (2 < n <= 7): ");
scanf("%d", &n); /* scanf_s для visual studio */
} while(n <= 2 || n > size);
/* генерация массива */
srand(time(NULL));
for(int x = 0; x < n; x++)
{
for(int y = 0; y < n; y++)
{
M[x][y] = rand() % 31 - 15; /* будут числа от -15 до +15 */
printf("%d\t", M[x][y]);
}
putchar('\n');
}
putchar('\n');
/* дальше ищем строку */
int i_str = 0;
int i_sum = 0;
for(int x = 0; x < n; x++)
i_sum += M[0][x]; /* определяем сумму в первой строке */
int sum;
for(int x = 1; x < n; x++)
{
sum = 0;
for(int y = 0; y < n; y++)
sum += M[x][y];
if(sum > i_sum)
{
i_sum = sum;
i_str = x;
}
}
/* выводи результат на экран
* добавляя единицу, потому что индексы в Си начинаются с нуля
*/
printf("В строке %d наибольшая сумма. \n", i_str + 1);
return 0;
}
Игорь Торин
Игорь Торин
76 935
Лучший ответ
Ну допустим массив НЕ ДАН, а его нужно сформировать, исходя наверное из введенного n... А для этого нужно выделить память, сформировать массив допустим по rand() и только потом вычислять...
НЕ! Код большой получится, мне откровенно лень...
Но подсказку я тебе дал.
Кирилл Еремчук
Кирилл Еремчук
73 371