Допустим, дано расписание автобусов на какой-то день, в виде списка числовых значений. Определить ближайший к текущему времени автобус.
Как это сделать? Хотелось бы увидеть пример кода на чем-нибудь C
-подобном.
Ну что-то на голом C:
char * schedule[] =
{
"8:25",
"10:15",
"14:20",
"18:20",
"19:40"
};
char * current_time[] =
{
"05:15",
"08:25",
"17:40",
"20:15"
};
int main(int argc, const char * argv[])
{
for(int i = 0; i < sizeof(current_time)/sizeof(current_time[0]); ++i)
{
int h,m;
int found = 0;
sscanf(current_time[i],"%d:%d",&h,&m);
int ct = h*60+m;
for(int j = 0; j < sizeof(schedule)/sizeof(schedule[0]); ++j)
{
sscanf(schedule[j],"%d:%d",&h,&m);
int st = h*60+m;
if (ct <= st)
{
printf("Current time: %s, nearest bus at %s\n",
current_time[i],schedule[j]);
found = 1;
break;
}
}
if (!found)
{
printf("Current time: %s, nearest bus at %s tomorrow\n",
current_time[i],schedule[0]);
}
}
}
Как я понимаю, интересует ближайший в будущем, а не тот, который минуту назад ушел? :)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можете привести понятный пример индекса в таблицах? В документациях столько всего написано, это вводит в заблуждениеИндекс - это и есть первичный...
Как добавить в поле БД значение, не перезаписывая его ? Например, добавить в поле words БД users значения (сначала одно, потом второе и пр), НО только...
Есть следующий тест, который при переходе в форму логина, вводит некорректные данные, в ответ на которые ему выводится дилоговое окно с текстом...