Выполнить сортировку по убыванию положительных элементов заданного массива - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д