Не получается упорядочить массив по возрастанию - C (СИ)
Формулировка задачи:
Листинг программы
- #include "stdafx.h"
- #include "stdio.h"
- #include "conio.h"
- int main()
- {
- float d[8];
- printf ("Input d[8]\n");
- for (int i=0;i<8;i++)
- scanf ("%f", &d[i]);
- int fl;
- do
- {
- fl=0;
- for (int i=0;i<7;i++)
- if (d[i]>d[i+1])
- {
- float temp=d[i];
- d[i]=d[i+1];
- d[i+1]=temp;
- fl=1;
- }
- }
- while (fl==0);
- printf ("Massive D:\n");
- for (int i=0;i<8;i++)
- printf ("%6.1f ", d[i]);
- getch ();
- return 0;
- }
Решение задачи: «Не получается упорядочить массив по возрастанию»
textual
Листинг программы
- for(int j = 0; j < 7; j++)
- {
- for (int i=0;i<7;i++)
- if (d[i] > d[i+1])
- {
- float temp = d[i];
- d[i]=d[i+1];
- d[i+1]=temp;
- fl=1;
- }
- }
Объяснение кода листинга программы
В этом коде происходит сортировка массива d по возрастанию. Вот пошаговое объяснение:
- Переменная j инициализируется значением 0. Это используется в цикле for, который будет выполняться 7 раз.
- Внутри этого цикла, для каждого значения j, выполняется еще один цикл for, который также выполняется 7 раз.
- Во внутреннем цикле, сравниваются два элемента массива d, d[i] и d[i+1]. Если d[i] больше d[i+1], то выполняется следующий код.
- В этом случае, происходит обмен значений d[i] и d[i+1]. То есть, d[i] становится равным d[i+1], а d[i+1] становится равным d[i].
- Также, переменной fl присваивается значение 1. Это используется для проверки, были ли произведены обмены во время сортировки. Если обменов не было, то fl остается равным 0.
- После выполнения внутреннего цикла, переменная j увеличивается на 1, чтобы перейти к следующей итерации внешнего цикла.
- Циклы продолжают выполняться, пока j меньше 7.
- После завершения циклов, переменная fl проверяется. Если она равна 0, это означает, что массив уже был отсортирован по возрастанию, и сортировка не требовалась.
- Если fl равно 1, это означает, что были произведены обмены, и массив был отсортирован. Этот код использует алгоритм сортировки пузырьком. Он работает, сравнивая соседние элементы массива и меняя их местами, если они находятся в неправильном порядке. Этот процесс повторяется до тех пор, пока массив не будет отсортирован.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д