11. Сортировка вставкой со вспомогательным массивом.
/* FILENAME : task_1_11.c */
/* Eugene V. Ogurtsov */
/* Last update : 26.05.2000 */
/* Сортировка вставкой со вспомогательным массивом. */
/* Написать программу, которая заполняет массив из 100
* целых чисел случайными числами и упорядочивает его
* сортировкой вставкой со вспомогательным массивом.
* Исходный и упорядоченный массивы выводятся на экран. */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* Исходный и вспомогательный массивы */
int Mas[100], Mas2[100];
/* Основная функция */
void main( void )
{
int dest, src, min, num;
randomize();
printf("Исходный массив:\n");
for (src = 0; src < 100; src ++)
printf("%3i ", Mas[src] = random(1000));
/* Повторяем, пока не заполним второй массив */
for (dest = 0; dest < 100; dest ++)
{
min = 32767;
num = 0;
/* Ищем минимум из всех элементов первого массива */
for (src = 0; src < 100; src ++)
if (Mas[src] < min)
{
min = Mas[src];
num = src;
}
/* Записываем найденный минимум во второй массив */
Mas2[dest] = min;
/* В первом массиве на место минимума записываем 32767 */
Mas[num] = 32767;
}
printf("\nОтсортированный массив:\n");
for (dest = 0; dest < 100; dest ++)
printf("%3i ", Mas2[dest]);
printf("\n");
} /* End of 'main' function */
/* End of 'task_1_11.c' file */
|