Есть ответ 👍

Три друга заняли первое, второе и третье места в соревнованиях универсиады. друзья разной национальности, зовут их по-разному, и любят они разные виды спорта. майкл предпочитает баскетбол и играет лучше, чем американец. израильтянин саймон играет лучше теннисиста. игрок в крикет занял первое место. кто является австралийцем? каким спортом увлекается ричард?

154
172
Посмотреть ответы 2

Ответы на вопрос:


майкл предпочитает баскетбол и играет лучше, чем амереканец => майкл не амереканец, майкл - баскетболистизраильтянин саймон играет лучше тенесиста => саймон израильтянин, саймон не играет в тенисигрок в крикет занял 1 местокто является австалийцем? саймон - израильтянин, мйкл не амереканец, т.к. друга 3 => ричард амереканец, а майкл - австралиецмайкл играет лучше амереканца, а игрок в крикет занял 1 место => амереканец ричард не играет в крикет => в крикет играет саймон=> ричард увлекается тенисомответ: австралийцем является майкл. ричард увлекается тенисом


Идея алгоритма заключается в том, что для проверки корректности строки мы заводим стек, содержащий в себе открывающие скобки. посмотрим конкретно на вашем примере: ) 1+5+(321-54*[321-321]+21) мы идём слева-направо, откидывая все символы, не являющиеся скобками, поскольку они нас не интересуют (как это было указано в вашем условии, почему я это и уточнял) затем, натыкаясь на открывающую скобку, добавляем её в стек. в нашем стеке: "(" идём дальше, находим открывающую квадратную скобку, кладём в стек в нашем стеке: "([" дальше видим закрывающую квадратную скобку, т.к. у нас последняя добавленная скобка - [, значит, она закрываёт её. в нашем стеке: "(" аналогично с круглой скобкой, в итоге в нашем стеке не остаётся ничего, строка корректна: ) в остальных случаях: если программа наткнётся на закрывающую скобку, для которой не найдётся открытой в стеке, причём той же самой (для квадратной - квадратная, для круглой - круглая, для фигурной - фигурная) выходит, выражение некорректно, что мы и выводим в качестве ответа. само собой, если после выполнения программы останутся незакрывшиеся скобки, значит, это выражение тоже является некорректным. я не мастер объяснять, но надеюсь, что мой разбор вам: )  исходный код вложен в ответ.

Популярно: Информатика