Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. // ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <cstdlib>
  7. #include <cmath>
  8. using namespace std;
  9. int startarr[50];
  10. int minusarr[50];
  11. int plusarr[50];
  12. int q = 0, w = 0;
  13.  
  14. void addelem(int *arr, int n)
  15. {
  16.     for (int i = 0; i <= n - 1; i++)
  17.     {
  18.         arr[i] = -10 + rand() % 20;
  19.     }
  20. }
  21.  
  22. void sort(int arr[],int n)
  23. {
  24.     bool miniaty = true; // minyaty = правда, і поки це так цикл while і програма працює.
  25.     int j = 0;            // j=0
  26.     int i = 0;            // i=0
  27.     int tmp;
  28.     while (miniaty) {       // якщо miniaty = правда
  29.         miniaty = false;   // тоді miniaty = неправда
  30.         j++;               // j=1, 2, 3 ... проходів      
  31.  
  32.                            // тут починаються перший та наступні проходи по масиву arr[],
  33.                            // j постійно зростає від 1 до n, і коли j=n цикл зупиняється,
  34.                            // swapped=неправда, а це зупиняє while (minyaty) - програма все відсортувала!
  35.         for (i = 0; i < n - j; i++) {
  36.             if (arr[i] > arr[i + 1]) {
  37.                 tmp = arr[i];         // зберігаємо і
  38.                 arr[i] = arr[i + 1];  // в і кладемо і+1
  39.                 arr[i + 1] = tmp;     // в і+1 кладемо і
  40.                 miniaty = true;       // miniaty = правда
  41.                                       // якщо хоч раз за прохід arr[i] > arr[i + 1] то swapped = правда
  42.                                       // і алгоритм буде робити ще один прохід
  43.                                       // і так доки все не буде відсортовано
  44.             }
  45.         }
  46.     }
  47. }
  48.  
  49. void itemtoarr(int *arr,int n)
  50. {
  51.     for (int i = 0; i <= n - 1; i++)
  52.     {
  53.         if (arr[i] == abs(arr[i]))
  54.         {
  55.             plusarr[q] = arr[i];
  56.             q++;
  57.         }
  58.         else
  59.         {
  60.             minusarr[w] = arr[i];
  61.             w++;
  62.         }
  63.     }
  64. }
  65.  
  66. int main()
  67. {
  68.     int n = 50;
  69.     addelem(startarr, n);
  70.     itemtoarr(startarr, n);
  71.     sort(minusarr, w);
  72.     sort(plusarr, q);
  73.     for (int i = 0; i <= n-1; i++)
  74.     {
  75.         cout << startarr[i] << " ";
  76.  
  77.     }
  78.     cout << endl;
  79.     cout << "minusarr" << endl;
  80.    
  81.     for (int i = 0; i <= w-1; i++)
  82.     {
  83.         cout << minusarr[i] << " ";
  84.  
  85.     }
  86.     cout << endl;
  87.     cout << "plusarr" << endl;
  88.     for (int i = 0; i <= q-1; i++)
  89.     {
  90.         cout << plusarr[i] << " ";
  91.  
  92.     }
  93.     cout << endl;
  94.     system("pause");
  95.     return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement