Змінити код програми (задача №1) таким чином, щоб вико- ристовувались не статичні масиви і статичні константи для їх оголошення, а динамічні масиви​

КристинаВощевоз55555 КристинаВощевоз55555    3   01.04.2021 19:48    1

Ответы
ДЖАН4848548 ДЖАН4848548  01.04.2021 19:50

qOtakZhemesh

Объяснение:

XAXAXAAXXXAXAX

ПОКАЗАТЬ ОТВЕТЫ
Мирандалина1414 Мирандалина1414  01.04.2021 19:50

Объяснение:

#include <iostream>

#include <ctime>

#include <string>

using namespace std;

int main()

{

   srand(time(NULL));

   int N, M; // Розміри матриці

   cout << "Enter n: ";

   cin >> N;

   cout << "Enter m: ";

   cin >> M;

   if (N != M) // Перевірка на не квадратну матрицю

   {

       cout << "n should be equal to m" << endl;

       return 0;

   }

   int a, b; // Межі випадкових чисел масиву

   cout << "Enter a: ";

   cin >> a;

   cout << "Enter b: ";

   cin >> b;

   int Width = max(to_string(a).length(), to_string(b).length()) + 1; // Ширина для cout

   int** arr = new int* [N]; // Виділення пам'яті для динамічного масиву

   int** result = new int* [N]; // Виділення пам'яті для динамічного масиву (результат)

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

   {

       arr[i] = new int[M];

       result[i] = new int[M];

   }

   cout << "n = " << N << endl

       << "m = " << M << endl

       << "Interval - [" << a << ";" << b << "]" << endl << endl

       << "Our matrix: " << endl;

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

   {

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

       {

           arr[i][j] = a + rand() % (b - a + 1);

           cout.width(Width); // Щоб було красиво

           cout << arr[i][j];

       }

       cout << endl;

   }

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

   {

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

       {

           if (j == 0 && i != N - 1)

           {

               result[N - 1][i + 1] = arr[i][j];

           }

           else if (i == N - 1 && j != 0)

           {

               result[j - 1][0] = arr[i][j];

           }

           else

           {

               result[i][j] = arr[i][j];

           }

       }

   }

   cout << endl << "Result matrix:" << endl;

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

   {

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

       {

           cout.width(Width); // Щоб було красиво

           cout << result[i][j];

       }

       cout << endl;

   }

   for (int i = 0; i < N; i++) // Звільнення пам'яті відведеної під динамічні масиви

   {

       delete[] result[i];

       delete[] arr[i];

   }

   delete[] result;

   delete[] arr;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика