Advertisement
bogdan_obukhovskii

16 задача

Jul 5th, 2020
941
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void print(int** a, int N)
  7. {
  8.     for (int i = 0; i < N; i++)
  9.     {
  10.         for (int j = 0; j < N; j++)
  11.         {
  12.             cout << a[i][j] << "\t";
  13.         }
  14.         cout << endl;
  15.     }
  16. }
  17.  
  18. void fill(int** a, int N)
  19. {
  20.     for (int i = 0; i < N; i++)
  21.     {
  22.         for (int j = 0; j < N; j++)
  23.         {
  24.             a[i][j] = 10 * i + j;
  25.         }
  26.     }
  27. }
  28.  
  29. void mainDiagonal(int** a, int N)
  30. {
  31.     for (int i = 0; i < N; i++)
  32.     {
  33.         int temp;
  34.         temp = a[i][i];
  35.         a[i][i] = a[i][N - i - 1];
  36.         a[i][N - i - 1] = temp;
  37.     }
  38.     print(a, N);
  39.     fill(a, N);
  40. }
  41.  
  42. void mainKor(int** a, int N, int k)
  43. {
  44.     int j = 0;
  45.     for (int i = 0; i < N; i++)
  46.     {
  47.         int temp;
  48.         temp = a[i][i];
  49.         a[i][i] = a[k][j];
  50.         a[k][j] = temp;
  51.         j++;
  52.     }
  53.     print(a, N);
  54.     fill(a, N);
  55. }
  56.  
  57. void secondary(int** a, int N, int k, int n)
  58. {
  59.     for (int i = 0; i < N; i++)
  60.     {
  61.         int temp;
  62.         temp = a[k][i];
  63.         a[k][i] = a[i][n];
  64.         a[i][n] = temp;
  65.     }
  66.     print(a, N);
  67.     fill(a, N);
  68. }
  69.  
  70. void transfer(int** a, int N)
  71. {
  72.     for (int i = 0; i < N; ++i)
  73.     {
  74.         for (int j = i; j < N; j++)
  75.         {
  76.             int temp;
  77.             temp = a[i][j];
  78.             a[i][j] = a[j][i];
  79.             a[j][i] = temp;
  80.         }
  81.     }
  82.     print(a, N);
  83.     fill(a, N);
  84. }
  85.  
  86. int main()
  87. {
  88.     setlocale(0, "rus");
  89.  
  90.     int N = 9;
  91.     int** F = new int* [N];
  92.     for (int i = 0; i < N; i++) F[i] = new int[N];
  93.     fill(F, N);
  94.     print(F, N);
  95.     int k, n;
  96.     cout << "Введите k и n: "; cin >> k >> n;
  97.  
  98.     cout << "1: " << endl;
  99.     mainDiagonal(F, N);
  100.  
  101.     cout << "2: " << endl;
  102.     mainKor(F, N, k);
  103.  
  104.     cout << "3: " << endl;
  105.     secondary(F, N, k, n);
  106.  
  107.     cout << "4: " << endl;
  108.     transfer(F, N);
  109.  
  110.     delete[] * F;
  111.  
  112.     system("pause");
  113.     return 0;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement