Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.02 KB | None | 0 0
  1. //#include "stdafx.h"
  2. //#include "pch.h"
  3. #include <stdio.h>
  4. #include <iostream>
  5. #include <stdlib.h>
  6. #include <conio.h>
  7. #include <Windows.h>
  8. #include <cmath>
  9. #include <string>
  10. #include <locale.h>
  11. #include <time.h>
  12.  
  13. void swap(int *x, int *y)
  14. {
  15.     int z = *x;
  16.     *x = *y;
  17.     *y = z;
  18. }
  19.  
  20. int main()
  21. {
  22.     setlocale(LC_ALL, "");
  23.     printf("Не сортированный массив\n");
  24.     system("color 2"); // зеленый
  25.     HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  26.  
  27.  
  28.     const int N = 15;
  29.     int A[N];
  30.     srand((unsigned)time(0));
  31.     for (int i = 0; i < N; i++)
  32.     {
  33.         A[i] = 1 + rand() % 51;
  34.         SetConsoleTextAttribute(hConsole, 15); // белый
  35.         printf("%d ", A[i]);
  36.     }
  37.     printf("\n");
  38.     SetConsoleTextAttribute(hConsole, 14);// желтый
  39.     printf("Сортировка массива\n");
  40.  
  41.  
  42.     int flag = 0;
  43.     for (int i = 0; i < N; i++) {
  44.         flag = 0;
  45.         for (int k = 0; k < N - i - 1; k++) {
  46.  
  47.  
  48.             for (int j = 0; j < N; j++) {
  49.                 if (j == k || j == k + 1) {
  50.                     SetConsoleTextAttribute(hConsole, 6);// цвет сравнения
  51.                     printf("%i ", A[j]);
  52.                 }
  53.                 else {
  54.                     SetConsoleTextAttribute(hConsole, 8);// темно-серый
  55.                     printf("%i ", A[j]);
  56.                 }
  57.             }
  58.  
  59.             Sleep(250);
  60.             printf("\r");
  61.  
  62.             if (A[k] > A[k + 1]) {
  63.                 flag = 1;
  64.                 swap(&A[k], &A[k + 1]);
  65.  
  66.                 for (int j = 0; j < N; j++) {
  67.                     if (j == k || j == k + 1) {
  68.                         SetConsoleTextAttribute(hConsole, 4);// светло-красный
  69.                         printf("%i ", A[j]);
  70.                     }
  71.                     else {
  72.                         SetConsoleTextAttribute(hConsole, 8);// темно-серый
  73.                         printf("%i ", A[j]);
  74.                     }
  75.                 }
  76.  
  77.                 Sleep(250);
  78.                 printf("\r");
  79.             }
  80.             else {
  81.                 for (int j = 0; j < N; j++) {
  82.                     if (j == k || j == k + 1) {
  83.                         SetConsoleTextAttribute(hConsole, 1);//
  84.                         printf("%i ", A[j]);
  85.                     }
  86.                     else {
  87.                         SetConsoleTextAttribute(hConsole, 8);// темно-серый
  88.                         printf("%i ", A[j]);
  89.                     }
  90.                 }
  91.  
  92.                 Sleep(250);
  93.                 printf("\r");
  94.             }
  95.         }
  96.         if (flag == 0) break;
  97.     }
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement