В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
eandrukova567
eandrukova567
02.06.2020 07:10 •  Информатика

Matrix56. Дана матрица размера M × N (N — четное число). Поменять местами левую и правую половины матрицы
с С++ с полным объяснением

Показать ответ
Ответ:
fkbithxtvg
fkbithxtvg
29.11.2020 22:30

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

 

int main()

{

   srand((int)time(0));

   int M, N;

   cout << "M="; cin >> M;

   

   do

   {

   cout << "N="; cin >> N;

   if (N%2!=0) cout << "N - even. Repeat please...\n";

   }

   while (N%2!=0);

   

     double **a = new double*[M];  

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

      a[i]=new double[N];

   

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

   {

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

   {

   a[i][j]=rand()%9 + 1;

   cout << a[i][j] << " ";

   }

   cout << "\n";

   }

   cout << "\n";

   

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

   for (int j = 0; j < N/2; j++)    

   swap (a[i][j],a[i][j+N/2]);

   

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

   {

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

   cout << a[i][j] << " ";

   

   cout <<"\n";

   }

 

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

   delete[]a[i];

   delete[]a;

 

system("pause");

return 0;

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота