Упорядочить элементы массива, не используя сортировку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день! Подскажите пожалуйста направление в решении следующей задачи: дан массив данных, в котором значения генерируются случайным образом. необходимо упорядочить элементы массива. сама программа получилась такая:
system("chcp 1251");
system("cls");
int a[15],i,n,s,d;
printf("введите количество элементов массива от 1 до 15\n");
scanf("%d",&n);
while(n<1||n>15)
{printf("введены некорректные данные,пробуй еще \n");
scanf("%d",&n);
}
s=21;
d=10;
srand(time(0));
for(i=0;i<n;i++)
{a[i]=rand()%s+d;
 
}
printf("вывод элементов массива\n");
for(i=0;i<n;i++)
{printf("i=%2d     a=%2d\n",i+1,a[i]);
}
Всю голову сломал как упорядочить элементы не используя сортировку.

Решение задачи: «Упорядочить элементы массива, не используя сортировку»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define LOW_BOUND (-30)
#define NUMBERS_COUNT (20)
 
int main(void) {
    int i;
    
    srand(time(NULL));
    
    for ( i = 0; i < NUMBERS_COUNT; ++i )
        printf("%d ", LOW_BOUND + 10 * i + rand() % 10);
    
    printf("\n");
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: iostream, stdlib, time.
  2. Определение констант: LOW_BOUND (-30) и NUMBERS_COUNT (20).
  3. В функции main() инициализируется переменная i.
  4. Засевается генератор случайных чисел с помощью функции srand(time(NULL)).
  5. В цикле for, который выполняется 20 раз, выводится на экран случайное число, полученное по формуле LOW_BOUND + 10*i + rand() % 10.
  6. После окончания цикла выводится символ новой строки.
  7. Функция main() возвращает 0, что означает успешный конец работы программы.

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы