Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- using namespace std;
- void main()
- {
- srand(time(NULL));
- const int size = 100;
- int Alpha[size];
- for (int i = 0; i < size; i++)
- {
- //исключение повторений случайного числа
- gen:
- Alpha[i] = rand() % size;
- for (int j = i; j > 0; j--)
- {
- if (Alpha[i] == Alpha[j - 1])
- goto gen;
- }
- }
- long j, k = size - 1;
- long begin = 1, end = size - 1; // границы неотсортированной части массива
- int tmp;
- do {
- // проход снизу вверх
- for (j = end; j > 0; j--) {
- if (Alpha[j - 1] > Alpha[j])
- {
- tmp = Alpha[j - 1];
- Alpha[j - 1] = Alpha[j];
- Alpha[j] = tmp;
- k = j;
- }
- }
- begin = k + 1;
- // проход сверху вниз
- for (j = 1; j <= end; j++) {
- if (Alpha[j - 1] > Alpha[j])
- {
- tmp = Alpha[j - 1];
- Alpha[j - 1] = Alpha[j];
- Alpha[j] = tmp;
- k = j;
- }
- }
- end = k - 1;
- } while (begin < end);
- for (int i = 0; i < size; i++) // вывод массива Alpha
- {
- cout << Alpha[i] << ' ';
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement