Advertisement
Dimique

Untitled

Nov 27th, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. const int SIZE = 10; // размер массива
  4. typedef int telem; // определение типа элементов массива
  5. typedef telem tsrt[SIZE];
  6. typedef tsrt tarray[SIZE]; // определение типа массива
  7. void sotring(tarray A, int n);
  8. void bubblesort(tsrt A, int size);
  9. void print_array(tarray a, int n);
  10. int main()
  11. {
  12.     setlocale(LC_ALL, "ru");
  13.     tarray a;
  14.     int n, k;
  15.     cout << "Введите n для размера массива 2n х 2n <= 5 ";
  16.     cin >> n;
  17.     n *= 2;
  18.     k = n;
  19.     cout << "Через пробел введите " << n << " элементов массива" << endl;
  20.     cout << "после чего нажмите entr и введите следующую строку" << endl;
  21.     for (int i = 0; i < n; i++)
  22.         for (int j = 0; j < n; j++)
  23.             cin >> a[i][j];
  24.     sotring(a, n);
  25.     cout << endl;
  26.     print_array(a, n);
  27.     cout << endl << endl;
  28.     system("pause");
  29.     return 0;
  30. }
  31. void sotring(tarray A, int n)
  32. {
  33.     tsrt B;
  34.     int k = 0;
  35.     for (int i = 1; i < n / 2; i++)
  36.     {
  37.         for (int j = 0; j <= i; j++)
  38.             B[k++] = A[i][j];
  39.         bubblesort(B, k);
  40.         k = 0;
  41.         for (int j = 0; j <= i; j++)
  42.             A[i][j] = B[k++];
  43.         k = 0;
  44.     }
  45.     for (int i = n / 2; i < n; i++)
  46.     {
  47.         for (int j = 0; j < n - i; j++)
  48.             B[k++] = A[i][j];
  49.         bubblesort(B, k);
  50.         k = 0;
  51.         for (int j = 0; j < n - i; j++)
  52.             A[i][j] = B[k++];
  53.         k = 0;
  54.     }
  55. }
  56. void bubblesort(tsrt A, int size)
  57. {
  58.     int n = size;
  59.     while (n > 0)
  60.     {
  61.         for (int i = 1; i < n; i++)
  62.             if (A[i] < A[i - 1])
  63.                 swap(A[i], A[i - 1]);
  64.         n--;
  65.     }
  66. }
  67. void print_array(tarray a, int n)
  68. {
  69.     for (int i = 0; i < n; i++)
  70.     {
  71.         for (int j = 0; j < n; j++)
  72.         {
  73.             cout.width(3);
  74.             cout << a[i][j] << " ";
  75.         }
  76.         cout << endl;
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement