Как организовать чтение данных - C (СИ)
Формулировка задачи:
Здравствуйте, есть простенькая задача с олимпиады по программированию (10-11 классы). На php написал ее без проблем (брал данные из файла), а вот на СИ не могу справиться..
Прошу помощи организовать чтение данные. В остальном разберусь сам.
Итак, входные данные:
1я строка - число N (1<=N<=31), количество занятий в текущем месяце
Во второй строке через пробел, в порядке возрастания перечислены дни, в которые будут проходить занятия
В следующих N строках располагается информация о пирожках, продаваемых в этот день – сначала указано число Mi – количество пирожков, продаваемых в этот день, затем через пробел записаны Mi чисел – цены пирожков, продаваемых в этот день. Все числа натуральные не превосходящие 1000.
набросок исходника
В общем, буду благодарен, если подтолкнете на верный путь или покажите пример исходника, который подойдет для данной задачи.
P.S. например, есть массив символов "1 5 12 23 30", можно как-то из него создать массив типа Int, где элементы - цифры из строки? в php для этого есть explode(). в СИ ничего подобного не нашел...
#include <stdio.h> int main(){ int N; scanf("%d", &N); /*тут как-то надо считать дни, в которые будут проходить занятия и записать их в массив. думаю, что надо как-то использовать подобный цикл int i=0, d[N]; while(scanf("%d", &d[i++])); но эту идею так и не смог развить.. дело в том, что после заполнения массива опять срабатывает scanf. выйти из цикла можно только если ввести не целое число (например, букву или знак препинания)*/ /*над этим еще не думал, так как застрял на прошлом шаге...*/ return 0; }
Решение задачи: «Как организовать чтение данных»
textual
Листинг программы
while(!feof(infile)){ //do something};
Объяснение кода листинга программы
- В начале данного кода, вероятнее всего, открывается файл
infile
для чтения. - Затем происходит проверка условия
feof(infile)
, которое возвращает значение true, если достигнут конец файла, и false в противном случае. - Пока условие
feof(infile)
возвращает false, выполняется некий блок кода. - В этом блоке кода, скорее всего, происходит чтение данных из файла
infile
. - После выполнения всех операций внутри цикла, программа продолжает выполнение следующей итерации цикла.
- Если достигается конец файла (feof(infile) возвращает true), то выполнение программы продолжается после цикла.
- В конце программы, возможно, закрывается файл
infile
. Важно отметить, что без дополнительного контекста трудно дать более точное объяснение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д