Переместить в конец массива все его положительные элементы - C (СИ)
Формулировка задачи:
Задание
изменить исходный массив следующим образом: переместить в конец массива все его положительные элементы. Порядок следования не перемещаемых элементов не изменять. Вывести на дисплей количество перемещенных элементов. Подскажите как написать прогуРешение задачи: «Переместить в конец массива все его положительные элементы»
textual
Листинг программы
int ar_swap(double* ar,int n) { int c=0;//счетчик перемешений for(int i=0;i<n;i++) { while(ar[i]>0 && i<n) { swap(ar[i],ar[n-1]); n--; c++; } } return c; }
Объяснение кода листинга программы
- Входные данные:
- double* ar: указатель на начало массива
- int n: размер массива
- Создаем переменную
c
для подсчета количества выполненных операций обмена - Проходим по всем элементам массива с помощью цикла for от i=0 до n-1
- Внутри цикла используем вложенный цикл while для проверки условия ar[i] > 0, если условие выполняется, то меняем местами текущий элемент массива с последним элементом и уменьшаем значение n на 1. Выполняем это до тех пор, пока условие не перестанет выполняться.
- После завершения внутреннего цикла увеличиваем значение переменной
c
на 1. - Возвращаем значение переменной
c
в качестве результата работы функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д