Найти минимальное и максимальное из чётных положительных чисел, записанных в файле input.txt - C (СИ)
Формулировка задачи:
Найти минимальное и максимальное из чётных положительных чисел, записанных в файле input.txt . Количество чисел неизвестно. Если в файле нет чётных положительных чисел, нужно вывести число 0. Результат записать в файл output.txt .
Входные данные
Целые числа записаны в файле input.txt в столбик, по одному в строке. Ввод заканчивается тогда, когда заканчиваются данные в файле.
Выходные данные
Программа должна вывести в файл output.txt минимальное и максимальное из чётных положительных чисел, разделив их пробелом. Если в файле нет чётных положительных чисел, нужно вывести число 0.
Решение задачи: «Найти минимальное и максимальное из чётных положительных чисел, записанных в файле input.txt»
textual
Листинг программы
#include <stdio.h>
void file_min_max(FILE* _out, FILE* _in){
int n, imax = -1, imin = -1;
while((fscanf(_in, "%d", &n) == 1) && !ferror(_in)){
if((n <= 0) || (n & 1))
continue;
if((imin == -1) || (n < imin))
imin = n;
if(n > imax)
imax = n;
}
if(imin == -1 || !feof(_in))
fputc('0', _out);
else
fprintf(_out, "%d %d", imin, imax);
}
int main(void){
FILE* fin = fopen("input.txt", "r");
FILE* fout = fopen("output.txt", "w+");
file_min_max(fout, fin);
fclose(fout);
fclose(fin);
return 0;
}