Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <Windows.h>
- #define N 25
- using namespace std;
- // Функция ввода матрицы
- int Enter_Matrix(int Array[][N], int& m, int& n)
- {
- // Ввод размерности матрицы и проверки её на отрицательность
- printf("\n Введи размерности матрицы: ");
- while (1)
- {
- scanf_s("%d %d", &m, &n);
- if ((n > 1) && (n <= N) && (m > 1)) break;
- else printf(" Неверный ввод! Повторите: ");
- }
- // Ввод матрицы через пробел
- printf(" Введите матрицу:\n");
- for (int i = 0; i < m; i++)
- for (int j = 0; j < n; j++)
- scanf_s("%d", &Array[i][j]);
- return Array[m][n];
- }
- // Функция вывода матрицы
- void Print_Matrix(int Array[][N], int m, int n)
- {
- printf("\n Результат выполнения:\n");
- for (int i = 0; i < m; i++)
- {
- for (int j = 0; j < n; j++)
- printf("%3d ", Array[i][j]);
- printf("\n");
- }
- }
- // Функция, переставляющая строки и столбцы
- int Matrix(int Array[][N], int m, int n, int&s_max, int&c_max)
- {
- int Max = Array[0][0];
- // Определение индексов максимального элемента матрицы
- for (int i = 0; i < m; i++)
- for (int j = 0; j < n; j++)
- {
- if (Array[i][j] > Max)
- {
- Max = Array[i][j];
- s_max = i;
- c_max = j;
- }
- }
- // Перемещение строк
- for (int j = 0; j < n; j++)
- {
- int t = Array[0][j];
- Array[0][j] = Array[s_max][j];
- Array[s_max][j] = t;
- }
- // Перемещение столбцов
- for (int i = 0; i < m; i++)
- {
- int t = Array[i][0];
- Array[i][0] = Array[i][c_max];
- Array[i][c_max] = t;
- }
- return Array[m][n];
- }
- int main()
- {
- // Подключение русского языка
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- int Array[N][N], m = 0, n = 0, s_max = 0, c_max = 0;
- printf(" Дана матрица размером M*N.\n Программа переставляет строки и столбцы местами таким образом, чтобы максимальный элемент матрицы оказался в левом-верхнем углу.\n");
- Enter_Matrix(Array, m, n); // Ввод матрицы
- Matrix(Array, m, n, s_max, c_max); // Перемещение строк и столбцов
- Print_Matrix(Array, m, n); // Вывод готовой матрицы
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement