Что добавить в код чтобы он работал по заданию?

Что мне нужно дописать в коде чтобы выполнялось условие в котором каждый отрицательный элемент матрицы действительных чисел размером 4х8 заменить суммой положительных элементов той строки, в котором размещен этот элемент.

#include <iostream>
#include <ctime>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> 
using namespace std;
int main()

{

    setlocale(LC_ALL, "Ukr");

    const int n = 4, m = 8;
    printf("Була:\n");
    
    int mat[n][m];

    srand(time(NULL));

    for (int i = 0; i < n; i++)

        for (int j = 0; j < m; j++)

            mat[i][j] = rand() % 30 - 5;

    for (int i = 0; i < n; i++)

    {

        for (int j = 0; j < m; j++)

            printf("%d  ", mat[i][j]);

        printf("\n");
       
    }
    printf("\nСтала:\n");  

    for (int i = 0; i < n; i++)

    {

        for (int j = 0; j < m; j++)

            printf("%d  ", mat[i][j]);

        printf("\n");

    }
 
    return 0;

}

Я только начал изучать С++.


Ответы (1 шт):

Автор решения: Vitaliy

Я понял как написать код к моему заданию

#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <ctime>
using namespace std;

int main()
{
    setlocale(LC_ALL, "Ukr");
    srand((int)time(0));
    const int n = 4, m = 8;
    double a[n][m], sum_pos;

    printf("Була:\n");
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            a[i][j] = 0.1 * (rand() % 201 - 100);
            cout << setw(7) << setprecision(1) << fixed << a[i][j];
        }
        printf( "\n");
    }

    printf("Стала:\n");
    for (int i = 0; i < n; i++)
    {
        sum_pos = 0.;
        for (int j = 0; j < m; j++)
            if (a[i][j] > 0.) sum_pos += a[i][j];

        for (int j = 0; j < m; j++)
        {
            if (a[i][j] < 0.) a[i][j] = sum_pos;
            cout << setw(7) << setprecision(1) << fixed << a[i][j];
        }

        printf ("\n");
    }

    system("pause");
    return 0;
}
→ Ссылка