Сортировка массива работает неверно! - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <cmath>
main ()
{
int b;
int x[]={6,1,3,0};
for (int i=0;i<4;i++)
for (int j=1;j<4;j++){
if(x[i]>x[j]){
b=x[i];
x[i]=x[j];
x[j]=b;}
}
for (int p=0;p<4;p++){
printf ("\n Результат: y[p]=%d ",x[p]);
}
getch();
return 0;
}Решение задачи: «Сортировка массива работает неверно!»
textual
Листинг программы
main ()
{
int b;
int x[]={6,1,3,0};
for (int i=0;i<3;i++)
for (int j=i+1;j<4;j++)
if (x[i]>x[j])
{
b=x[i];
x[i]=x[j];
x[j]=b;
}
for (int p=0;p<4;p++)
printf ("%d ",x[p]);
printf("\n");
getch();
return 0;
}
Объяснение кода листинга программы
- Программа начинается с функции main().
- Создается переменная типа int b и переменная типа int x[], которая содержит массив из 4 элементов: {6, 1, 3, 0}.
- Два вложенных цикла for используются для сортировки массива x. Первый цикл идет от 0 до 2 (так как размер массива x равен 3), а второй цикл идет от i+1 до 3 (так как i изменяется от 0 до 2).
- Если текущий элемент массива x[i] больше x[j], то выполняется блок кода, который меняет значения x[i] и x[j] местами, используя временную переменную b.
- После завершения второго цикла, значения массива x выводятся на экран с помощью функции printf().
- В конце программы вызывается функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
- Программа возвращает 0, что означает успешное выполнение.