Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <cstdlib>
- #include <cmath>
- using namespace std;
- int startarr[50];
- int minusarr[50];
- int plusarr[50];
- int q = 0, w = 0;
- void addelem(int *arr, int n)
- {
- for (int i = 0; i <= n - 1; i++)
- {
- arr[i] = -10 + rand() % 20;
- }
- }
- void sort(int arr[],int n)
- {
- bool miniaty = true; // minyaty = правда, і поки це так цикл while і програма працює.
- int j = 0; // j=0
- int i = 0; // i=0
- int tmp;
- while (miniaty) { // якщо miniaty = правда
- miniaty = false; // тоді miniaty = неправда
- j++; // j=1, 2, 3 ... проходів
- // тут починаються перший та наступні проходи по масиву arr[],
- // j постійно зростає від 1 до n, і коли j=n цикл зупиняється,
- // swapped=неправда, а це зупиняє while (minyaty) - програма все відсортувала!
- for (i = 0; i < n - j; i++) {
- if (arr[i] > arr[i + 1]) {
- tmp = arr[i]; // зберігаємо і
- arr[i] = arr[i + 1]; // в і кладемо і+1
- arr[i + 1] = tmp; // в і+1 кладемо і
- miniaty = true; // miniaty = правда
- // якщо хоч раз за прохід arr[i] > arr[i + 1] то swapped = правда
- // і алгоритм буде робити ще один прохід
- // і так доки все не буде відсортовано
- }
- }
- }
- }
- void itemtoarr(int *arr,int n)
- {
- for (int i = 0; i <= n - 1; i++)
- {
- if (arr[i] == abs(arr[i]))
- {
- plusarr[q] = arr[i];
- q++;
- }
- else
- {
- minusarr[w] = arr[i];
- w++;
- }
- }
- }
- int main()
- {
- int n = 50;
- addelem(startarr, n);
- itemtoarr(startarr, n);
- sort(minusarr, w);
- sort(plusarr, q);
- for (int i = 0; i <= n-1; i++)
- {
- cout << startarr[i] << " ";
- }
- cout << endl;
- cout << "minusarr" << endl;
- for (int i = 0; i <= w-1; i++)
- {
- cout << minusarr[i] << " ";
- }
- cout << endl;
- cout << "plusarr" << endl;
- for (int i = 0; i <= q-1; i++)
- {
- cout << plusarr[i] << " ";
- }
- cout << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement