Задание
В двухмерном массиве сделать перестановку элементов первой четверти квадратной матрицы с элементами четвертой четверти той же матрицы.
Выбор алгоритма решения задачи
В этой задаче надо применять двухмерный массив. И с помощью цикла, вносить числа. Потом сделать условие так, чтобы программа знала, где первая четверть, а где четвертая четверть и переставить значение. Для этого нужен будет еще один двухмерный массив в котором будет храниться копия масива.
Описание решения задачи
Данную задачу можно развязать следующим способом: делим значение массива на 2 (массив должен быть четным). Потом выбираем переменные x, в которых будет записано данное число. Это нам дает разбить двухмерный массив на четверти. Дальше мы делаем копию массива для того, чтобы переставить значение матрицы. И с помощью cout выводим значение массива.
Схема алгоритма решения задачи
Текст програми
#include<iostream.h>
#include<conio.h>
const int m = 4;
void printArray ( int [][m] );
int main ()
{
int array1[m][m] = {1,1,5,6,3,3,4,4,5,5,6,6};
int array2[m][m] = {1,1,5,6,3,3,4,4,5,5,6,6};
int x;
x = (m)/2;
printArray (array1);
for (int i = 0; i<m; i++)
for (int j = 0; j<m; j++) {
if (i<x && j<x)
array1 [i + x][j + x] = array1[i][j];
if (i >= x && j >= x)
array1 [i - x][j - x] = array2[i][j];
}
printArray(array1);
getch();
return 0;
}
void printArray (int a[][m])
{
for (int m1 = 0; m1<m; m1++) {
for (int m2 = 0; m2<m; m2++)
cout << a[m1][m2] << ' ';
cout << endl;
}
cout <<"\n";
}
Результати роботи програми