Другие языки программирования и технологии

Помогите решить задачу (Visual c++)

Пожалуйста помогите решить задачу!

В одномерном массиве, состоящем из N вещественных элементов, вычислить:
1) Кол-во положительных элементов массива
2) Сумму элементов массива, расположенных после последнего элемента равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все элементы,
целая часть которых не превышает 1, а потом все остальные
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
    const size_t N = 10;
    double arr[N];
    for (rsize_t n = 0, k = 0; n < N; n++) {
        cout << " arr[" << n << "] -> ";
        cin >> arr[n];
    }
    unsigned count = 0;
    for (rsize_t n = 0; n < N; n++) if (arr[n] >= 0) ++count;
    locale::global(locale(""));
    if (count) cout << " Количество положительных: " << count << endl;
    else cout << " Нет положительных! \n";
    double sum = 0;
    int n;
    for (n = N - 1; n >= 0 && arr[n]; n--) sum += arr[n];
    if (n >= 0) cout << " Сумма = " << sum << endl;
    else cout << " Нет нулевого элемента! \n";
    double temp, next, current;
    rsize_t m;
    for (int n = 1; n < N; n++)
        for (m = 0; m < N - n; m++) {
            current = int(abs(arr[m]));
            next = int(abs(arr[m + 1]));
            if (current > 1 && next <= 1) {
                temp = arr[m];
                arr[m] = arr[m + 1];
                arr[m + 1] = temp;
            }
        }
    for (rsize_t n = 0; n < N; n++) cout << setw(7) << arr[n];
    cin.get(); cin.get();
    return 0;
}
Алексей Кичатов
Алексей Кичатов
70 772
Лучший ответ
а в чем проблема?
1) for (int a = 0; a < N ;a++) (mas [ a ] <0)? i++;
2) int a = N-1;
float sum = 0;
while(mass [ a ] != 0) {sum+= mass [ a ] ; a--;}
Vladimir Kononov
Vladimir Kononov
5