Дана матриця. Поміняти місцями перший рядок з останнім, другий з передостаннім і т.д(реверс матриці по рядках).
С++
Ответы
Відповідь:
Результат виконання програми на фото.
Текст програми на мові C++(користувач вводить матрицю (її кількість рядків, стовпців та самі значення матриці):
#include <iostream>
using namespace std;
const int MAX_ROWS = 10;
const int MAX_COLS = 10;
void reverseMatrix(int matrix[MAX_ROWS][MAX_COLS], int numRows, int numCols) {
int temp[MAX_COLS];
for (int i = 0; i < numRows / 2; i++) {
// swap rows i and numRows - i - 1
for (int j = 0; j < numCols; j++) {
temp[j] = matrix[i][j];
matrix[i][j] = matrix[numRows - i - 1][j];
matrix[numRows - i - 1][j] = temp[j];
}
}
}
int main() {
int numRows, numCols;
int matrix[MAX_ROWS][MAX_COLS];
// get number of rows and columns from user
cout << "Enter number of rows (max " << MAX_ROWS << "): ";
cin >> numRows;
cout << "Enter number of columns (max " << MAX_COLS << "): ";
cin >> numCols;
// get matrix values from user
cout << "Enter matrix values:\n";
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++) {
cin >> matrix[i][j];
}
}
// print original matrix
cout << "\nOriginal matrix:\n";
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
// reverse matrix
reverseMatrix(matrix, numRows, numCols);
// print reversed matrix
cout << "\nReversed matrix:\n";
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}