Сразу же очевидно, что Лена - не дочь А.И. (1) 1. Пусть Анна - дочь А.И.(1), тогда Тома должна была танцевать с ним, но этого не может быть, так как А.И. танцевал с Леной. Значит, Анна - не дочь А.И. 2. Пусть Катя - дочь А.И.(1), тогда Анна танцевала с А.И.(1), но этого также не может быть, так как он танцевал с Леной. Катя - не дочь А.И. Значит, остаётся только один вариант - Тома дочь А.И.(1). Следовательно, В.С.(3) танцевал с Томой. 4. Пусть Катя - дочь В.С.(3), тогда с ним танцевала Анна, но этого не может быть, так как с ним танцевала Тома. 5. Пусть Лена - дочь В.С.(3), но тогда с ней должен был танцевать Ф.П., а это невозможно, так как с Леной танцевал А.И.(1). Следовательно, Анна - дочь В.С.(3). Осталось разобраться с Ф.П. и Г.А. 6. Ф.П.(2) - танцевал с дочерью В.С., значит от танцевал с Анной, т.е. он - отец Кати. 7. Соответственно Г.А. - отец Лены и танцевал с Катей. Пары отец-дочь: 1Т 2К 3А 4Л
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
1. Пусть Анна - дочь А.И.(1), тогда Тома должна была танцевать с ним, но этого не может быть, так как А.И. танцевал с Леной.
Значит, Анна - не дочь А.И.
2. Пусть Катя - дочь А.И.(1), тогда Анна танцевала с А.И.(1), но этого также не может быть, так как он танцевал с Леной. Катя - не дочь А.И.
Значит, остаётся только один вариант - Тома дочь А.И.(1).
Следовательно, В.С.(3) танцевал с Томой.
4. Пусть Катя - дочь В.С.(3), тогда с ним танцевала Анна, но этого не может быть, так как с ним танцевала Тома.
5. Пусть Лена - дочь В.С.(3), но тогда с ней должен был танцевать Ф.П., а это невозможно, так как с Леной танцевал А.И.(1). Следовательно, Анна - дочь В.С.(3). Осталось разобраться с Ф.П. и Г.А.
6. Ф.П.(2) - танцевал с дочерью В.С., значит от танцевал с Анной, т.е. он - отец Кати.
7. Соответственно Г.А. - отец Лены и танцевал с Катей.
Пары отец-дочь:
1Т
2К
3А
4Л
Программа представлена на скрине.
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
void addCheese(Pizza&); - добавляет в заказ сыр
void removeOnion(Pizza&); - убирает из заказа лук
void togglePineapple(Pizza&); - переключает ананасы
void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы