Выполнить сортировку по убыванию положительных элементов заданного массива - C (СИ)
Формулировка задачи:
Выполнить сортировку по убыванию положительных элементов заданного массива без изменения местоположения отрицательных элементов.
Решение задачи: «Выполнить сортировку по убыванию положительных элементов заданного массива»
textual
Листинг программы
- #include <stdio.h>
- #define N 5
- int swap(int *a, int *b)
- {
- int tmp = *a;
- *a = *b;
- *b = tmp;
- }
- int main()
- {
- int mas[N];
- int i;
- int j;
- for(i = 0; i < N; i++) scanf("%d", &mas[i]);
- for(i = 0; i < N;i++) {
- for(j = 0; j < N; j++) {
- if(mas[i] > mas[j] && mas[i] > 0 && mas[j] > 0) swap(&mas[i], &mas[j]);
- }
- }
- for(i = 0; i < N;i++) printf("%d\n", mas[i]);
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для работы с целочисленными значениями.
- Определение размера массива N.
- Создание функции swap для обмена значениями двух указателей на целочисленные значения.
- Ввод значений в массив с помощью цикла for и функции scanf.
- Два вложенных цикла for для сортировки массива методом пузырька. Внутренний цикл сортирует элементы внешнего цикла.
- Условие if для проверки, что элементы больше 0 и не равны друг другу.
- Если условие выполняется, то происходит обмен значениями двух указателей с помощью функции swap.
- Вывод отсортированного массива с помощью цикла for и функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д