Как такое реализуется

112
11 ноября 2021, 06:20

Нужна помощь или совет как реализовать такую задачу:Надо отсортировать массив и вывести все этапы сортировки.Массивы я отсортировал и программа выводит конечный результат сортировки,как вывести промежуточные?

Код программы:

#include <stdio.h>
#include <time.h>
#include <locale.h>

int main()
{
    setlocale(LC_ALL,"Rus");
    int N = 9;
    int a[N];
    int buff = 0;   // для хранения перемещаемого значения
    int i, j,b;     // для цикла        
    srand(time(NULL));
    printf("Программа заполняющая массив случайными девятью числами в диапозоне от 60 до 80");
    printf("\nСортировка полученного массива методом Встановок");
    printf("\nЗаполнение второго массива из девяти чисел числами из диапозона от 60 до 80");
    printf("\nСортировка его методом пузырька\n\n\n");
    for (i = 0; i < N; i++)
        a[i] = 60 + rand() % 20;
    puts("Массив 1 имеет вид:");
    for (i = 0; i < N; i++)
    {
        printf("%3d", a[i]);
    }
    printf("\n");
    /************* Начало сортировки *******************/
    for (i = 1; i < N; i++)
    {
        buff = a[i]; // запомним обрабатываемый элемент
        // и начнем перемещение эдементов слева от него
        // пока заполненный не окажется меньше чем перемещаемый
        for (j = i - 1; j >= 0 && a[j] > buff; j--)
            a[j + 1] = a[j];
        a[j + 1] = buff; // и поставим заполненный на его новое место   
    }
    /************* Конец сортировки *******************/
    printf("\nОтсортированный массив методом вставки имеет вид: \n");
    for (i = 0; i < N; i++) // вывод  отсортированныго масс
    printf("%3d", a[i]);
    putchar('\n');
    /************* Вторая сортировака *******************/
    for (i = 0; i < N; i++)
    a[i] = 60 + rand() % 21;
    printf("\n\n");
    puts("Массив 2 имеет вид:");
    for (i = 0; i < N; i++)
    {
        printf("%3d", a[i]);
    }
    for(i = 0; i < N-1; i++ )//сортировка пузырьком
    {
        for(j = 0; j < N-i-1; j++)
        {
            if(a[j] > a[j+1])
            {
                b = a[j];
                a[j] = a[j+1];
                a[j+1] = b;
            }
        }
    }
    putchar('\n');
    printf("\nОтсортированный массив методом пузырька имеет вид: \n");
    for(i = 0; i < N; i++)
    printf("%3d", a[i]);
    putchar('\n');
  return 0;
}

Заранее спасибо за помощь.

READ ALSO
Каково состояние объектов стандартной библиотеки после перемещения?

Каково состояние объектов стандартной библиотеки после перемещения?

Скажите, пожалуйста, в каком состоянии находятся объекты стандартной библиотеки после перемещения? Можно ли продолжать их использовать?

79
Как найти площадь прямоугольника или помогите найти ошибку в коде [закрыт]

Как найти площадь прямоугольника или помогите найти ошибку в коде [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

192
jQuery append не добавляет &lt;tr&gt; и &lt;td&gt;

jQuery append не добавляет <tr> и <td>

делаю подгрузку контента через ajax, всё вроде бы шло хорошо, но когда пытаюсь вывести всё через $("#articles")append("

123
Почему не работает код?Html/JS

Почему не работает код?Html/JS

Изучаю JS в Sublime TextПытаюсь создать что-то типо онлайн калькулятора по видеоуроку, но он не работает и выбивает ошибку: [1113/194018

216