Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- //#include "pch.h"
- #include <stdio.h>
- #include <iostream>
- #include <stdlib.h>
- #include <conio.h>
- #include <Windows.h>
- #include <cmath>
- #include <string>
- #include <locale.h>
- #include <time.h>
- void swap(int *x, int *y)
- {
- int z = *x;
- *x = *y;
- *y = z;
- }
- int main()
- {
- setlocale(LC_ALL, "");
- printf("Не сортированный массив\n");
- system("color 2"); // зеленый
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- const int N = 15;
- int A[N];
- srand((unsigned)time(0));
- for (int i = 0; i < N; i++)
- {
- A[i] = 1 + rand() % 51;
- SetConsoleTextAttribute(hConsole, 15); // белый
- printf("%d ", A[i]);
- }
- printf("\n");
- SetConsoleTextAttribute(hConsole, 14);// желтый
- printf("Сортировка массива\n");
- int flag = 0;
- for (int i = 0; i < N; i++) {
- flag = 0;
- for (int k = 0; k < N - i - 1; k++) {
- for (int j = 0; j < N; j++) {
- if (j == k || j == k + 1) {
- SetConsoleTextAttribute(hConsole, 6);// цвет сравнения
- printf("%i ", A[j]);
- }
- else {
- SetConsoleTextAttribute(hConsole, 8);// темно-серый
- printf("%i ", A[j]);
- }
- }
- Sleep(250);
- printf("\r");
- if (A[k] > A[k + 1]) {
- flag = 1;
- swap(&A[k], &A[k + 1]);
- for (int j = 0; j < N; j++) {
- if (j == k || j == k + 1) {
- SetConsoleTextAttribute(hConsole, 4);// светло-красный
- printf("%i ", A[j]);
- }
- else {
- SetConsoleTextAttribute(hConsole, 8);// темно-серый
- printf("%i ", A[j]);
- }
- }
- Sleep(250);
- printf("\r");
- }
- else {
- for (int j = 0; j < N; j++) {
- if (j == k || j == k + 1) {
- SetConsoleTextAttribute(hConsole, 1);//
- printf("%i ", A[j]);
- }
- else {
- SetConsoleTextAttribute(hConsole, 8);// темно-серый
- printf("%i ", A[j]);
- }
- }
- Sleep(250);
- printf("\r");
- }
- }
- if (flag == 0) break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement