Сортировка целочисленного массива по возрастанию - C (СИ)
Формулировка задачи:
Отсортировать одномерный массив целых чисел по возрастанию.
Написал программу, но преподаваель говорит, что неправильно, укажите на ошибку, пожалуйста.
int main() { int a[15]; int i,s; for(i=0;i<15;i++) { a[i]=rand()%50; } s=a[i+1]>1[i]]; printf("%d",s); }
Решение задачи: «Сортировка целочисленного массива по возрастанию»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //необходимо подключить заголовочный файл ввода-вывода int main() { int a[15];// = { 0 }; желательно инициализировать массив нулями int i/* = 0*/, s/* = 0*/; //инициализация!!! for (i = 0; i < 15; i++) { //на начальных этапах в циклах и if`ах фигурную скобку лучше начинать здесь a[i] = rand() % 50; } //здесь заканчивает цикл заполнения массива случайными числами, при этом, чтобы цифры при каждом запуске были разные необходимо после main() { добавить srand((int)time(NULL)); s = a[i + 1]>1[i]]; // это не сортировка, это ерунда, так как > вернет нуль или единицу, 1[i]] - такого вообще не может быть. printf("%d", s); } } //лишняя фигурная скобка
Объяснение кода листинга программы
- В начале кода подключается заголовочный файл inout.h, который содержит функции для ввода и вывода данных.
- Затем определяется переменная
a
типаint
с длиной 15. Ее инициализируют нулями. - Определяются две переменные:
i
иs
, которые будут использоваться в цикле. - Запускается цикл, который заполняет массив
a
случайными числами от 0 до 49 с помощью функцииrand()
. - После заполнения массива, происходит сортировка массива методом, который вызывает ошибку, так как использует оператор
>
для сравнения элементов массива. - И наконец, в консоль выводится значение переменной
s
, которая не имеет смысла после сортировки массива. - В конце кода находится лишняя фигурная скобка, которая должна быть удалена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д