Создание самосортирующегося массива и функции для него - C (СИ)
Формулировка задачи:
здравствуйте. надо написать функцию создания самосортирующегося массива, то есть задается количество элементов и предел, далее рандомом создаем массив а потом сортируем с помощью быстрой сортировки. я вроде бы сделал но выдает ошибки которые я не могу исправить
ошибки
C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libmingw32_a-crt0_c.o) In function `main':
18 h:\crossdev\src\mingw-w64-v3-svn\mingw-w64-crt\crt\crt0_c.c undefined reference to `WinMain'
C:\Users\sport\Documents\Новая папка\collect2.exe [Error] ld returned 1 exit status
#include<stdio.h> #include<stdlib.h> #include<time.h> int compare(const void*a, const void*b){ return *(int*)a-*(int*)b; }; void CreateMas(int n, int k){ int i; int*m=(int*)malloc(n*sizeof(int)); srand(time(NULL)); for(i=0; i<n; i++){ m[i]=rand()%(k); }; qsort(m, n, sizeof(int), compare); for(i=0; i<n; i++){ printf("%d\n", m[i]); }; };
Решение задачи: «Создание самосортирующегося массива и функции для него»
textual
Листинг программы
#include <stdio.h> #include<stdlib.h> #include<time.h> int compare(const void*a, const void*b) { return *(int*)a - *(int*)b; } void CreateMas(int n, int k) { int i; int*m = (int*)malloc(n*sizeof(int)); srand((unsigned int)time(NULL)); for (i = 0; i<n; i++) m[i] = rand() % (k); qsort(m, n, sizeof(int), compare); for (i = 0; i<n; i++) printf("%d ", m[i]); printf("\n"); } int main() { CreateMas(10,10); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с массивами, функциями и временем.
- Создание функции сравнения, которая будет сравнивать два указателя на int.
- Создание функции для создания массива заданного размера с помощью генератора случайных чисел и сортировки его с помощью функции qsort и нашей функции сравнения.
- Вывод отсортированного массива на экран.
- Вызов функции создания массива в функции main с заданными параметрами.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д