Предмет: Информатика, автор: Jumper2020

Реализовать кодом поворот матрицы 5 х 5 элементов на 90 градусов по часовой стрелке.

Реалізувати кодом поворот матриці 5 х 5 елементів на 90 градусів за годинниковою стрілкою.


girfanovniaz274: Жестко
girfanovniaz274: Пробегайся просто по строками и элементам внутри них. Достаточно пробежаться только по двум строкам(так как переворачивая 3 мы поймём, что это будет просто перевернуться строка номер 3, на том же месте.
girfanovniaz274: Чтобы менять значения пишешь к примеру: для i в промежутке до двух: для j в промежутке до 5. (Все предлагается на python.).
girfanovniaz274: Нужен будет таки код, напишешь
Jumper2020: надо на Си
girfanovniaz274: Тогда сори с Си, не знаком. Но я могу на C++. Сойдет?
Jumper2020: Ну давай)
girfanovniaz274: сейчас
girfanovniaz274: Проверь тебе так нужно было перевернуть или как?
girfanovniaz274: Вроде как раз 90

Ответы

Автор ответа: girfanovniaz274
0

#include <vector>

using namespace std;

int main()

{

   // Я буду использовать вектор, можешь просто использовать массив

   vector<vector<int>> matrix = { {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}};

   // Мы создали массив, я назвал его matrix, теперь будем его заполнять.

   for(int i = 0; i < 5; i++)

   {

       for(int j = 0; j < 5; j++)

       {

           int chislo;

           cin >> chislo;

           matrix[i][j] = chislo;

       }

   }

   // Мы его заполнили теперь будем переворачивать

   for (int i = 0; i < 3; i++)

   {

       if (i != 2){

           for (int j = 0; j < 5; j++)

           {

               int chislo1 = matrix[i][j];

               int chislo2 = matrix[4 - i][4 - j];

               matrix[i][j] = chislo2;

               matrix[4 - i][4 - j] = chislo1;

           }

       }

       // Здесь строка по середине.

       else

       {

           int chislo1 = matrix[2][0];

           int chislo2 = matrix[2][4];

           matrix[2][0] = chislo2;

           matrix[2][4] = chislo1;

           chislo1 = matrix[2][1];

           chislo2 = matrix[2][3];

           matrix[2][1] = chislo2;

           matrix[2][3] = chislo1;

       }

   }

   return 0;

}

ввод:

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

вывод:

25      24      23      22      21

20      19      18      17      16

15      14      13      12      11

10      9       8       7       6

5       4       3       2       1


girfanovniaz274: Если что, пишите, на все вопросы отвечу
girfanovniaz274: Это реализация на C++
Jumper2020: Спасибо,помог
Всё понял.
Похожие вопросы
Предмет: Физика, автор: safandeevva