Я работаю в C, и я очень новичок в этом (2 недели назад). В основном у меня есть файл, который имеет два столбца данных, разделенных пробелом. Мне нужно читать из файла построчно и определять, когда первый раз второй столбец превышает некоторое число. Когда он находит строку, которую я ищу, я хочу, чтобы он напечатал на экране соответствующий номер из первого столбца. Оба столбца расположены в числовом порядке.
Чтобы быть более точным, column1 - это год, а column2 - это население. В первый раз, когда численность населения превышает некоторое число, X, я хочу напечатать соответствующую дату.
Пока у меня есть код, который сканирует и находит, когда население> X, а затем печатает дату, но он печатает каждую дату с населением> X. Я не могу заставить его печатать только в первый раз, когда он превышает X и ничего больше.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *in;
int ni,i;
double d,p;
if((in=fopen("pop.dat","r"))==NULL) {
printf("\nCannot open pop.dat for reading\n");
exit(1);
}
while(fscanf(in,"%lf %lf",&d,&p)!=EOF) {
if (p>350) printf("\nDate is %f and Population is %f",d,p);
}
fclose(in);
return(0);
}