Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > можете написать коментарии(матрицы)


Автор: Andrei3423421 12.12.2017, 07:57
Код

#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);
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)