Для задания мы должны прочитать список дат и соответствующих значений (температур) из текстового документа.Значения в каждой строке разделены запятыми.
Пример данных:
dd,mm,yyyy,x,y,z,w
01,01,2011,1.1,5.2,6.5,7.5
02,01,2011,2.1,5.2,6.1,1.1
03,01,2011,4.5,2.5,6.1,2.1
...
30,01,2011,4.1,6.1,6.1,2.1
01,02,2011,2.5,6.1,7.1,6.3
До сих пор я реализовал цикл для чтения каждой строки:
while(scanf("%d,%d,%d,%f,%f,%f,%f", &dd, &mm, &yyyy, &x, &y, &z, &w) == 7)
{
}
Мы 'Учитывая допущение, что в документе нет ошибок и нет повторяющихся дат.
Однако могут быть отсутствующие записи (не каждый месяц содержит полные данные; пропущенные дни).
У меня возникают проблемы с обнаружением, если данные каждого месяца (мм) являются полным месяцем или тольконеполный месяц.
Например: 31 день в марте 2011 года. Если у меня есть 31 запись с марта, мне нужно напечатать «Полный месяц», в противном случае, если пропущены дни, я должен напечатать «Частичный месяц».
До сих пор я использовал операторы if(mm==1){}
для разделения каждого месяца внутри цикла while(scanf(...))
и затем увеличивал их в отдельные переменные, а затем сравнивал с количеством дней в полном месяце, но я нене знает, как его реализовать, чтобы он обнаружил, что мм изменился по сравнению с предыдущей строкой (новый месяц), и выполняет определенное действие (например, вычисления)
Извините, если это сбивает с толку!
Мыеще не учили массивы, только операции, циклы и функции.