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;
}
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;
}
Похожие вопросы
- Написать код на языке си
- Код программы на С++//
- Код программы на С++///
- Помогите пожалуйста написать код.(C++)
- Код программы на С++))
- Написал код для языка C, но работает не правильно
- Написать код на языке C++
- Написать код для задачи C++
- Код программы на С++))))
- Задание на c++ ответить на вопросы и написать код