Для целого числа от 1 до 99 напечатать фразу "Мне k лет", учитывая при этом, что при некоторых значениях k слово "лет" нода заменить на слово "год" или "года". Например "11 лет", "22 года", "51 год".
Var i:integer; Ar: array [1..99] of string; begin for i:=1 to 99 do begin if i in [5..20] then ar[i]:='let' else case (i mod 10) of 1: ar[i]:='god'; 2,3,4: ar[i]:='goda'
else ar[i]:='let'; end; end; repeat write('enter the number: '); readln(i); if i in [1..99] then begin {for i:=1 to 99 do} writeln('Mne ',i,' ',ar[i]); readln end; until i=0; end.
Не советую смотреть, что за скрытым текстом.
Demian
22.06.2008 20:33
При указании чисел 2, 3, 4 выводит следующее "2 лет" хотя нужно, 2 года.
Sozialist
22.06.2008 20:38
Исправил, хотел уменьшить код, пропустил косяк.
volvo
22.06.2008 20:40
Demian, тебе привели ссылку на корректно работающую программу, что опять не так? Не можешь поменять один кейс на другой? Все на блюдечке подать надо?
А тебе, автор сообщения №3, я бы посоветовал более доходчиво написать, КУДА ИМЕННО ты не рекомендуешь смотреть...
Sozialist
22.06.2008 20:56
Автор 6 сообщения Вот только не надо меня упрекать, что программы мои непроверенные. Наличие логических ошибок об этом не говорит, другое дело - программа не запускается. См. пост номер 5.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.