Не работает сортировка - C (СИ) (75894)
Формулировка задачи:
знаю что задача распространенная, но у меня не получается ее реализовать(((
вот мой код и он не работает, что делать?
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#define n 5
void main()
{
setlocale(LC_CTYPE, "");
int c[n],y[n],i,j,min,k,l,t,f,r;
printf("Введите 5 элементов массива:\n");
for (i=0; i<n; i++)
{
printf("%d-й элемент:\n",i);
scanf("%d", &c[i]);
}
for ( i = 0; i < n-1; i ++ )
for ( j = n-2; j >= i; j -- )
if ( c[j] > c[j+1] )
{
t = c[j];
c[j] = c[j+1];
c[j+1] = t;
}
printf("\n Отсортированный массив:\n”);
for ( i = 0; i < n; i ++ )
printf("%d ", c[i]);
getch();
}
простите) поняла ошибку) там ковычка не та)
Решение задачи: «Не работает сортировка»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#define n 5
int main()
{
setlocale(LC_CTYPE, "");
int c[n],y[n],i,j, t;
for (i=0; i<n; i++)
{
scanf("%d", &c[i]);
}
for ( i = 0; i < n; i ++)
for ( j = n-2; j >= i; j--)
if ( c[j] > c[j+1] )
{
t = c[j];
c[j] = c[j+1];
c[j+1] = t;
}
for ( i = 0; i < n; i ++ )
printf("%d ", c[i]);
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется сортировка массива методом пузырька. Вот список действий, которые происходят в коде:
- Включаются необходимые заголовочные файлы.
- Определяется размер массива n.
- Устанавливается локальная настройка для работы с русским языком.
- Создаются массивы c и y, а также переменные i, j и t.
- В цикле for происходит заполнение массива c значениями, введенными пользователем.
- Во внутреннем цикле для каждого элемента c[i] в массиве c, начиная с последнего, проверяется, больше ли он следующего элемента c[i+1]. Если это так, то значения меняются местами, и переменная t обновляется.
- В цикле for, начинающемся с 0 и до n-1, выводятся элементы массива c через пробел.
- Код завершается возвратом 0, что означает успешное выполнение программы.