Найти сумму положительных элементов действительного файла - C (СИ)

Формулировка задачи:

Нужно выполнить обработку файла: найти сумму положительных элементов действительного файла. Заранее спасибо.

Код к задаче: «Найти сумму положительных элементов действительного файла - C (СИ)»

textual
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
 
#include <stdio.h>
#include <stdlib.h>
 
int is_positive(double d)
{
    return d >= 0.0;
}
 
double file_sum_if(FILE *file, int (*func) (double))
{
    double d = 0.0;
    double sum = 0.0;
    while (!feof(file) && !ferror(file) && fscanf(file, "%lf", &d) == 1)
        if (func(d))
            sum += d;
    return sum;
}
 
int main(void)
{
    FILE *f = fopen("numbers.txt", "r");
    printf("Sum: %.3lf\n", file_sum_if(f, is_positive));
    fclose(f);
#ifdef _MSC_VER
    system("pause");
#endif
    return 0;
}

15   голосов, оценка 4.200 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы