C/C++

Написать код программы на с++

Ввести две матрицы X1 N1* M1 и X2 N2*M2. В каждой из матриц вычислить сумму модулей отрицательных элементов. Минимальные элементы строк матриц заменить соответствующим значением суммы. Матрицы вывести на печать в исходном и преобразованном виде .
#include <iostream>

using namespace std;

#define N1 3
#define M1 4

#define N2 2
#define M2 5

// печать матриц
void print_matrix_1(const int X[N1][M1])
{
for(int i = 0; i < N1; i++)
{
for(int j = 0; j < M1; j++)
{
cout << X[i][j] << '\t';
}
cout << endl;
}
cout << endl;
}

void print_matrix_2(const int X[N2][M2])
{
for(int i = 0; i < N2; i++)
{
for(int j = 0; j < M2; j++)
{
cout << X[i][j] << '\t';
}
cout << endl;
}
cout << endl;
}

// ручной ввод матриц
void make_matrix1(int X[N1][M1])
{
for(int i = 0; i < N1; i++)
for(int j = 0; j < M1; j++)
cin >> X[i][j];
}

void make_matrix2(int X[N2][M2])
{
for(int i = 0; i < N2; i++)
for(int j = 0; j < M2; j++)
cin >> X[i][j];
}

// сумма модулей отрицательных элементов
int sum_matrix1(const int X[N1][M1])
{
int sum = 0;
for(int i = 0; i < N1; i++)
for(int j = 0; j < M1; j++)
if(X[i][j] < 0) sum -= X[i][j]; // минус на минус даёт плюс
return sum;
}

int sum_matrix2(const int X[N2][M2])
{
int sum = 0;
for(int i = 0; i < N2; i++)
for(int j = 0; j < M2; j++)
if(X[i][j] < 0) sum -= X[i][j]; // минус на минус даёт плюс
return sum;
}

int main()
{
int X1[N1][M1];
int X2[N2][M2];

cout << "\tВвод матрицы X1." << endl;
make_matrix1(X1);

cout << "\tВвод матрицы X2." << endl;
make_matrix2(X2);

cout << endl << "Вывод на печать матрицы X1 в исходном виде." << endl;
print_matrix_1(X1);

cout << endl << "Вывод на печать матрицы X2 в исходном виде." << endl;
print_matrix_2(X2);

int sum1 = sum_matrix1(X1);
int sum2 = sum_matrix2(X2);

int i_min;
for(int x = 0; x < N1; x++)
{
i_min = 0;
for(int y = 0; y < M1; y++)
{
if(X1[x][y] < X1[x][i_min]) i_min = y;
}
X1[x][i_min] = sum1;
}
for(int x = 0; x < N2; x++)
{
i_min = 0;
for(int y = 0; y < M2; y++)
{
if(X2[x][y] < X2[x][i_min]) i_min = y;
}
X2[x][i_min] = sum2;
}
cout << "\tВывод на печать матрицы X1 в изменённом виде." << endl;
print_matrix_1(X1);

cout << "\tВывод на печать матрицы X2 в изменённом виде." << endl;
print_matrix_2(X2);

return 0;
}
АЮ
Артур Юсупов
81 913
Лучший ответ