Отсортировать массив и вывести на экран - C (СИ)

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

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

массив 20 чисел массив вводить рандомом отсортировать массив и вывести на экран

Решение задачи: «Отсортировать массив и вывести на экран»

textual
Листинг программы
#include <stdio.h> 
#include <time.h>
#include<stdlib.h> 
 
void Sort(int n, int * Arr);
 
 
 
int main() 
 
{ 
 
srand(time(0));
 
int n=100000; 
 
int * Arr = new int[n]; //(int*) malloc (100001);
 
for(int i = 0;i < n;++i){
 
    Arr[i] = rand()%1000;
 
    printf("%d ",Arr[i]);
 
}
 
printf("\n");
 
Sort(n,Arr);
 
for(int i = 0;i < n;++i) printf("%d ",Arr[i]);
 
 
 
//getchar();
 
return 0;
 
} 
 
 
 
void Sort(int n, int * Arr)
 
{
 
    int t;
 
    for(int i = 0;i < n-1;){
 
        if(Arr[i] > Arr[i+1]){
 
            t = Arr[i];
 
            Arr[i] = Arr[i+1];
 
            Arr[i+1] = t;
 
            i = 0;
 
            continue;
 
        }
 
        ++i;
 
    }
 
}

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

В данном коде реализована сортировка массива методом сортировки вставками.

  1. В функции main() инициализируется генератор случайных чисел, а также выделяется память под массив Arr (размер n).
  2. Затем в цикле заполняется массив Arr случайными числами от 0 до 999.
  3. После заполнения массива его сортируют с помощью функции Sort().
  4. В функции Sort() инициализируется переменная t, которая будет использоваться как временная для обмена значениями.
  5. Внешний цикл for сортировки, который выполняется до n-1 итераций (так как на последней итерации все элементы уже будут упорядочены).
  6. На каждой итерации внутреннего цикла проверяется, больше ли текущий элемент Arr[i] чем следующий за ним Arr[i+1]. Если это так, то значения временной переменной t и Arr[i] меняются местами с Arr[i+1].
  7. После каждой итерации внутреннего цикла значение i сбрасывается в 0, чтобы можно было начать следующую итерацию внешнего цикла.
  8. В конце функции main() массив Arr выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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