Дана структура данных. Си Поиск по заданному интервалу

5 года назад от Galka

1 ответ

0 голосов
Да, иногда некоторые чисто программистские вопросы имет смысл задавать в теме Наука. Математика в этом вопросе простая, однако, благодаря математике можно написать понятную, красивую и главное работающую программу.
Что у нас дано? (y1, y2) – год и месяц начала интервала, (y2, m2) – год и месяц конца интервала и (x, y) – искомая дата.
Давайте определим две булевских переменных:
bool YM1GE = (yy1) || (y=y1) && (m=m1) ;
 / искомый YM больше или равен минимальному

bool YM2LE = (yy2) || (y=y2) && (mm2) ;
 / искомый YM меньше или равен максимальному

Тогда требуемое условие попадание
if (YM1GE && YM2LE) {
 / . код здесь
} / .

При этом “лишние” переменные сделайте локальным переменными цикла. Как видите, иногда нужно написать чуть больше слов и программных строк, чтобы получить работающую и робастную программу.

PS/ Вместо типа bool можно использовать int
5 года назад от ໂ Ꮑ ℯ ዙ ᵰ

Связанные вопросы