Quick actions

cmd+k|ctrl+k

Navigation

Languages

Билет 5 №2

Snippet info

Language

C

Visibility

public

Author

muzon4ik

Created

2017-06-19T10:39:09Z

Updated

2017-06-19T10:44:05Z

#include <stdio.h>

double sumOfFirstPositives(double *arr, int length) {
    double sum = 0;
    int i;
    
    for (i = 0; i < length; i++) {
        // выходим из цикла если число меньше нуля
        if (arr[i] < 0) break;
        
        sum += arr[i];
    }
    
    // i не успеет увеличится, если мы вышли из цикла до конца первой итерации
    if (i == 0) return -1;
    return sum;
}


int main(void) {
    double arr[] = {
        3.14,
        2.22,
        -98.76,
        0.0,
        -271.73,
        -999.0,
        1234.5
    };
    
    // чтобы не париться с кол-вом элементов в массиве, вычисляем его автоматом
    // размер всего статического массива (в байтах) делить на размер элемента
    int arrSize = sizeof(arr) / sizeof(arr[0]);
    
    double sum = sumOfFirstPositives(arr, arrSize);
    
    printf("%lf\n", sum);
    
    return 0;
}
INFO