Дана матриця. Поміняти місцями перший рядок з останнім, другий з передостаннім і т.д(реверс матриці по рядках).
С++

Ответы

Ответ дал: anuapolina08
1

Відповідь:

Результат виконання програми на фото.

Текст програми на мові 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;

}

Приложения:

anuapolina08: Готово
Вас заинтересует