Переместить в конец массива все его отрицательные элементы - C (СИ)
Формулировка задачи:
Вычислить сумму положительных элементов массива. Вывести на дисплей полученное значение. После этого изменить исходный массив следующим образом: переместить в конец массива все его отрицательные элементы. Порядок следования не перемещаемых элементов не изменять. Вывести на дисплей количество перемещенных элементов.
Как собстно переместить эти элементы правильно,потому что методом Пузырька у меня не получается.И как вывести их кол-во?
#include <stdio.h> #include <stdlib.h> #include<time.h> #define MAX 10 void sort(int[], int); int main(void) { int mass[MAX]; int n, i; int sum = 0; printf("Input size:"); scanf_s("%i", &n); printf("Input elements of mass[%i]:\n", n); for (i = 0; i < n; i++) scanf_s("%i", &mass[i]); for (i = 0; i < n; i++) if (mass[i] > 0) { sum += mass[i]; } printf("sum=%i\n", sum); return 0; }
Решение задачи: «Переместить в конец массива все его отрицательные элементы»
textual
Листинг программы
for (int i = 0; i < M; i++) { static int j = 0, k = M - 1; if (b[i] < 0)// все отрицательные будут строиться от начала { a[j] = b[i]; j++; } else// остальные с конца { a[k] = b[i]; k--; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д