Програма C++
У цілочисленній матриці N x N поміняти місцями рядок, що містить елемент з
мінімальним значенням, з рядком, що містить елемент з максимальним значенням.
Знайти суму елементів, розміщених на головній діагоналі отриманої матриці.
Результати вивести на екран.
Answers & Comments
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 3; // Розмірність матриці
int main() {
int a[N][N]; // Матриця
// Заповнення матриці значеннями
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> a[i][j];
}
}
// Знаходження рядків, що містять елементи з мінімальним та максимальним значеннями
int min_row = 0, max_row = 0;
for (int i = 1; i < N; i++) {
if (a[i][0] < a[min_row][0]) {
min_row = i;
}
if (a[i][0] > a[max_row][0]) {
max_row = i;
}
}
// Поміняти місцями рядки
for (int i = 0; i < N; i++) {
swap(a[min_row][i], a[max_row][i]);
}
// Знаходження суми елементів на головній діагоналі
int sum = 0;
for (int i = 0; i < N; i++) {
sum += a[i][i];
}
// Виведення результатів на екран
cout << "Sum: " << sum << endl;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}