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