Advertisement
Dimique

Untitled

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