Если массив А упорядочен по возрастанию, то упорядочить его по убыванию - C (СИ)
Формулировка задачи:
Дан вещественный массив A[N]. Если массив А упорядочен по возрастанию, то упорядочить его по убыванию, а если массив упорядочен по убыванию то упорядочить по возрастанию.
Решит плииииииззЗ)))
Решение задачи: «Если массив А упорядочен по возрастанию, то упорядочить его по убыванию»
textual
Листинг программы
void func(double *A, int n) { double tmp; int i,j; i=0; j=n-1; while (1) { if ((j-i) < 1) break; tmp=A[i]; A[i]=A[j]; A[j]=tmp; i++; j--; } }
Объяснение кода листинга программы
- Входные данные:
double *A
- указатель на начало массива,int n
- размер массива.
- Создаем две переменные:
double tmp
- временная переменная для обмена элементов,int i
иj
- индексы для прохода по массиву.
- Устанавливаем начальные значения переменных:
i=0
- начальный индекс,j=n-1
- конечный индекс.
- Запускаем цикл
while
, который выполняется до тех пор, пока разница междуj
иi
больше 1. - В каждой итерации цикла происходит обмен элементов:
tmp=A[i]
- сохраняем значение элемента с индексомi
во временной переменной,A[i]=A[j]
- заменяем значение элемента с индексомi
на значение элемента с индексомj
,A[j]=tmp
- заменяем значение элемента с индексомj
на значение временной переменной,i++
- увеличиваем значение переменнойi
на 1,j--
- уменьшаем значение переменнойj
на 1.
- После завершения цикла сортировки, массив
A
будет отсортирован в порядке убывания.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д