Код: Выделить всё
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
#include <winuser.h>
#pragma hdrstop
#pragma argsused
char* rus(const char* text) {
char* bufRus = new char[strlen(text)];
CharToOem(text, bufRus);
return bufRus;
}
int main(int argc, char* argv[]) {
int** matrix, N = 0, M = 0;
int** matrix1;
int i, j, c, n, g;
cout << rus("Введите количество массивов: ");
cin >> n;
for (g = 0; g < n; g++) {
{
printf(rus("Количество строк= "));
scanf("%d", &N);
printf(rus("Количество столбцов= "));
scanf("%d", &M);
}
if (N > 1 && M > 1) {
c = M - 1;
matrix = new int* [N];
for (i = 0; i < N; i++) matrix[i] = new int[M];
/*Ввод массива*/
for (i = 0; i < N; i++) {
for (j = 0; j < M; j++) {
matrix[i][j] = rand() % 100; // случайные числа от нуля до 99
}
}
cout << rus("Исходная матрица") << endl;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) cout << matrix[i][j] << " ";
cout << endl;
}
matrix1 = new int* [N];
for (i = 0; i < N; i++) matrix1[i] = new int[M];
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
matrix1[i][j] = matrix[i][c - j];
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) matrix[i][j] = matrix1[i][j];
}
cout << rus("Матрица с инвертированными строками") << endl;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) cout << matrix1[i][j] << " ";
cout << endl;
}
} else {
if (N <= 0 || M <= 0) {
cout << rus("Матриц ") << N << ("X") << M << rus(" не существует")
<< endl;
} else {
cout << rus("Данная матрица не двумерный массив") << endl;
}
}
cout << endl;
}
system("pause");
return 0;
}