Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <conio.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     srand(time(0));
  10.     int N;
  11.     cin >> N;
  12.     int M = 2 * N + 5;
  13.     int A = -N - 15; // граница ОТ
  14.     int B = N + 15; //граница ДО
  15.     int **mas = new int*[M]; // Создание динамического массива
  16.     for (int i = 0; i < M; ++i)
  17.     {
  18.         mas[i] = new int[M];// Создание строк в двумерном массиве
  19.     }
  20.  
  21.     for (int i = 0; i < M; ++i)
  22.     {
  23.  
  24.         for (int j = 0; j < M; ++j) // Эл. массива по двум координатам
  25.         {
  26.             mas[i][j] = A + rand() % (B-A)+1;
  27.         }
  28.     }
  29.     for (int i = 0; i < M; ++i)
  30.     {
  31.  
  32.         for (int j = 0; j < M; ++j) // Эл. массива по двум координатам
  33.         {
  34.             cout << mas[i][j] << '\t';
  35.         }
  36.         cout << '\n';
  37.     }
  38.     // простой динамический массив
  39.  
  40.     for (int i = 1; i < M; ++i)
  41.     {
  42.         if (i & 1) // проверка  двуичного кода на последнюю еденицу,если последнее число 1 то число нечетное
  43.         {
  44.             for (int k = 0; k < M - 1; ++k) // сортировка пузырьком (сравнение елемента со следующим)
  45.             {
  46.                 for (int j = 0; j < M - 1; ++j)
  47.                 {
  48.                     if (mas[i][j] > mas[i][j + 1])
  49.                     {
  50.                         int a = mas[i][j];          
  51.                         mas[i][j] = mas[i][j + 1];
  52.                         mas[i][j + 1] = a;
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.         else
  58.         {
  59.             int sum = 0;
  60.             for (int j = 0; j < M; ++j) // суммируем предыдущую строку
  61.             {
  62.                 sum += mas[i - 1][j];
  63.             }
  64.             for (int j = 0; j < M; ++j) // записываем каждый елемент строки
  65.             {
  66.                 mas[i][j] = sum;
  67.             }
  68.         }
  69.     }
  70.     cout << '\n';
  71.  
  72.     for (int i = 0; i < M; ++i)
  73.     {
  74.         for (int j = 0; j < M; ++j) // Эл. массива по двум координатам
  75.         {
  76.             cout << mas[i][j] << '\t';
  77.         }
  78.         cout << '\n';
  79.     }
  80.     for (int i = 0; i < M; ++i)
  81.     {
  82.         delete[] mas[i];   // освобождение выделимоемой памяти
  83.     }
  84.     delete[] mas;
  85.  
  86.     _getch();
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement