Код: Выделить всё
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //для time(0)
int main()
{
setlocale(0, "");
srand(time(0)); // для инициализации разных последовательностей псевдослучайных чисел
int n = 5;
int **a = (int**)malloc(n*sizeof(int*));
for (int i = 0; i<n; i++)
{
a[i] = (int*)malloc(n*sizeof(int));
for (int j = 0; j<n; j++)
a[i][j] = rand()%10-rand()%10;
}
for (int i = 0; i<n; i++)
{
for (int j = 0; j<n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
int *sum = (int*)malloc(n*sizeof(int));
for (int i = 0; i<n; i++)
{
sum[i] = 0;
for (int j = 0; j<n; j++)
{
if (a[i][j]>0)
sum[i]+=a[i][j];
}
}
int mx = 0;
for (int i = 0; i<n; i++) // вычесление
{
if (sum[i]>sum[mx]) // наибольшей
mx = i; // суммы
printf("Сумма положительных элементов в строке с номером %d = %d\n",i+1,sum[i]);
}
printf("Наибольшая сумма равна %d, она находится в строке %d\n",sum[mx],mx+1);
for (int i = 0; i<n; i++)
free(a[i]);
free(a);
free(sum);
}