Алгоритм год лет года

Как создать алгоритм для правильной подстановки в прогр.код где нужно- «лет», а где нужно-«года»

Здравствуйте! — извините пожалуйста, я только учусь и хочется полностью разобраться в заданном уроке.

-Пожалуйста подскажите как написать программный код так, чтобы в тексте СтрШаблон( «. ему уже целых %3 года ! . ); подставлялось правильное значение в соответствии с числом лет — например: « 22 годА» , «30 лет », « 41 год » .

•Дано: Сздать Списки Значений : ФИО, Качества, Возраст .

• Требуется вывести сообщение : « < ФИО >— самый < Качество >в нашем коллективе ! А, между прочим, ему уже целых < Возраст >лет ! ».

СписокФИО = Новый СписокЗначений ; СписокФИО.Добавить("Витя Иванов"); СписокФИО.Добавить("Петя Степанов"); СписокФИО.Добавить("Саша Хороший "); СписокКачеств = Новый СписокЗначений ; СписокКачеств.Добавить("Добрый") ; СписокКачеств.Добавить(" Отзывчивый") ; СписокКачеств.Добавить(" Веселый") ; СписокВозрастов = Новый СписокЗначений ; СписокВозрастов.Добавить( 30); СписокВозрастов.Добавить(20); СписокВозрастов.Добавить(50); ФИО = СписокФИО.ВыбратьЭлемент("Какая Фамилия сотрудника", ФИО ) ; Качество = СписокКачеств.ВыбратьЭлемент("Какое Качество сотрудника : ", Качество ); Возраст = СписокВозрастов.ВыбратьЭлемент("Какой Возраст сотрудника : ", Возраст ) ; СтрокаВывода = СтрШаблон( " %1 - самый %2 в нашем коллективе! | А, между прочим, ему уже целых %3 года! ", ФИО, Качество, Возраст ); Сообщить(СтрокаВывода);

Буду очень сильно благодарна всем кто подскажет решение 🙂
С уважением ко всем на форуме.

Источник

Определение возраста человека — «год», «года», «лет»

Здравствуйте!Помогите,пожалуйста,решить задачу,была бы очень благодарна!

Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет»
Здравствуйте! Помогите решить задачу! Ввести возраст человека (от 1 до 150 лет) и вывести его.

Дать для числа наименования ”год», ”года», ”лет»
Дано натуральное число (n100), определяющее возраст человека (в годах). Дать для этого числа.

Из слова «клоун» путем «вырезок» и «склеек» его букв получить слова «уклон»,»кулон» и «колун»
Из слова "клоун" путем "вырезок" и "склеек" его букв получить слова "уклон","кулон" и.

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Const g = 'год'; g1 = 'года'; l = 'лет'; Var age:integer; Begin Repeat Write('Введите возраст: '); readln(age); Until (age >=1) and (age =100); write(age); Case age of 1,21,31,41,51,61,71,81,91:write(' ',g); 2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94:write(' ',g1); else write(' ',l); End; End.

Даны текстовый файл «F» и строка «S». Получить все строки файла «F», содержащие в качестве фрагмента строку «S».
Плиз помогите написать прогу: Даны текстовый файл "F" и строка "S". Получить все строки файла "F".

Пожалуйста, составьте программу, которая из слов»СТРАХ»,»БЕЛКА»,»ЦЫПЛЁНОК» получает слово «СТОЛБЕЦ»
Пожалуйста, составьте программу, которая из слов"СТРАХ","БЕЛКА","ЦЫПЛЁНОК" получает слово "СТОЛБЕЦ".

Изобразить стрелку и осуществить движение по клавишам «вверх», «вниз», «вправо», «влево»
Необходимо изобразить стрелку и осуществить движение по клавишам "вверх", "вниз", "вправо", "влево".

Удвоить в строке буквы «ю», «ъ», «ф», «э», а между словами оставить только по одному пробелу
Пользователь заполняет символьную строку русскими буквами. Буквы ю, ъ, ф, э в ней нужно удвоить, а.

Читайте также:  Пересадка взрослого можжевельника летом

Источник

Дать для заданного числа наименования «год», «года», или «лет»

Помогите пожалуйста. Так и не понимаю я этот do while. Нужно решить задачку именно им:
Дано натуральное число n(n <=100), определяющая возраст человека в годах. Дать для этого числа наименования «год»,
«года», или «лет», например: 1 год, 43 года, 45 лет.

Определить для числа наименование «год», «лет» или «года»
б) натуральное число m (m <= 100), заданное пользователем, определяет возраст человека (количество.

Дать для числа наименования ”год», ”года», ”лет»
Дано натуральное число (n100), определяющее возраст человека (в годах). Дать для этого числа.

Напечатать Мне K лет, в нужных случаях слово «лет» заменяя на «год» или «года»
3. Составьте программу, которая для числа K (от 1 до 99), введенного вами, напечатает фразу «Мне K.

Эксперт C

char *p; e = n%10; d = n/10; if (d!=1 && e==1) p = "год"; else if (d!=1 && (e==2 || e==3 && e==4) p = "года"; else p = "лет";

если число больше 20, то
если последняя цифра 1 — «год», 2,3,4 — «года», 5-0 «лет»
числа 5-20 «лет»
до 5 — должно быть понятно

зачем тут do-while, не совсем понятно. Может, чтобы уменьшить число вычитая по 10.

// Пока писал появился другой ответ — можно удалить

Эксперт C

ЦитатаСообщение от saden Посмотреть сообщение

do while тут для того что бы он выводил сообщение если число более 100, я сделал, но не работает почему то

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
//--------------------------------------------------------------------------- #include #include #pragma hdrstop #include //--------------------------------------------------------------------------- #pragma argsused int main() { int n,a; cout"Vvedite 4islo: "; do { cin>>n; if (n>100) { cout  "4islo ne mogit bit bolshe 100"endl;} } while (n100);{ a=n+10; cout"Otvet: "aendl; } system("pause"); }

Эксперт C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
//--------------------------------------------------------------------------- #include #include #pragma hdrstop #include //--------------------------------------------------------------------------- #pragma argsused int main() { int e,d,n; char *p; //cout cout"Vvedite 4islo: "; do { cin>>n; if (n>100) { cout  "4islo ne mogit bit bolshe 100"endl;} } while (n>=100); system("pause"); }

Эксперт C

ЦитатаСообщение от twix_uk Посмотреть сообщение

При вводе числа должна добавляться соответствующая запись «год», «года» или «лет» без ограничений в 100 лет
Помогите написать код, под java в котором при вводе числа будет добавляться соответствующая запись.

Ввести год рождения и определить сколько лет человеку. При выводе учитывать слова «год», «года», «лет»
Ввести год рождения и определить сколько лет человеку. При выводе учитывать слова «год», «года».

Составить программу которая при введеном количестве лет выдает сообщени вам n лет,вам n год или года
Составить программу которая при введеном количестве лет выдает сообщение вам n лет,вам n год или.

Для заданного n вывести фразу вида «Мне 21 год», «Мне 22 года», «Мне 15 лет»
. Для заданного 0<=n<=200 , рассматриваемого как возраст человека, вывести фразу вида «Мне 21 год».

Источник

Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет»

Проблему составляет исключение — 111(по идее 11 лет, но получается год) — не получается всунуть в алгоритм. Мозги уже кипят.

Определение возраста человека — «год», «года», «лет»
Здравствуйте!Помогите,пожалуйста,решить задачу,была бы очень благодарна! ДАНО НАТУРАЛЬНОЕ ЧИСЛО.

Дать для числа наименования ”год», ”года», ”лет»
Дано натуральное число (n100), определяющее возраст человека (в годах). Дать для этого числа.

Ввести один из символов «Y» или «n». При вводе «Y» вывести на экран слово «Да», а при вводе «n» слово «нет»
1.Ввести один из символов "Y" или "n". При вводе "Y" вывести на экран слово "Да", а при вводе.

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Program Nothing; uses crt; var year:integer; desytki:real; begin write('Введите ваш возраст (от 1 до 150 лет): '); repeat readln(year); until (year=150); write('Вам ',year); desytki:=(year mod 100 - year mod 10)/10; if (desytki = 1) then writeln(' лет.') else if (year mod 10 = 1) then writeln(' год.') else if (year mod 10 = 2)or(year mod 10 = 3)or(year mod 10 = 4) then writeln(' года.') else if (year mod 10 = 5)or(year mod 10 = 6)or(year mod 10 = 7)or(year mod 10 = 8)or(year mod 10 = 9) then writeln(' лет.'); end.

Уважаемый Републикан, хоть и прошло «сто лет», сделаю замечание по вашему коду: конец цикла вы очень «мудро» поставили — сразу после ввода года.
Таким образом, сколько данных не введете, обрабатываться в IF’ах будет только последнее введенное число.
И второе замечание — условие для повторения цикла «Repeat . Until» вы выбрали неверное, поскольку этот цикл повторяется, пока условие ложно.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var year, desytki: integer; begin repeat write('Введите ваш возраст (от 1 до 150 лет): '); readln(year); until (year = 150) and (year > 0); write('Вам ', year); desytki := year mod 10; case desytki of 1: writeln(' год.'); 2..4: writeln(' года.'); 0, 5..9: writeln(' лет.'); end; end.

А товарищ был на форуме — Последняя активность: 21.10.2014

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

capricornus CF, если уж подняли древнюю тему, так надо хоть правильный код в ней разместить.
ты попробуй ввести число 11 или 12 или 13.
Всё правильно твоя программа напишет?

я бы такой вариант предложил:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
var year : integer; strEnd : string; begin repeat write('Введите ваш возраст (от 1 до 150 лет): '); readln(year); until (year = 150) and (year > 0); if ((year mod 100)>=11) and ((year mod 100)=14) then strEnd := 'лет' else case (year mod 10) of 1: strEnd := 'год'; 2..4: strEnd := 'года'; else strEnd := 'лет'; end; WriteLn('Вам ',year,' ',strEnd); end.

Уважаемый Каприкорнус, я не тестил ваш код на правильность обработки введенных значений, но Until вы бы лучше поставили в конце программы, перед «END.», было бы логичнее. Иначе какой смысл в цикле вводить разные возраста?

Я лично написал такой код:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Program My_Vozrast; var year: integer; k, des, ed : integer; ArrYearName : array of string = ('год', 'года', 'лет'); Begin While True do begin write('Введите ваш возраст (от 1 до 150 лет): '); readln(year); if (year1) or (year>150) then begin writeln; writeln(' Введенный возрст вне разрешенного диапазона! Выход.'); halt; end; writeln; write('Вам ',year,' '); if (year > 99) then year:= year - 100*(year div 100); // Убираю "лишние" сотни лет, расчетам не вредит)) des := year div 10; // определить кол-во десятков ed := year mod 10; // считаем кол-во единиц case des of 1 : k:= 2; // лет 0, 2..9 : case ed of 1 : k:= 0; // год 2..4 : k:= 1; // года 0, 5..9 : k:=2; // лет end; // case end; // case writeln(ArrYearName[k]); writeln; end; // while End.

ЦитатаСообщение от Chilipalmer777 Посмотреть сообщение

Уважаемый Каприкорнус, я не тестил ваш код на правильность обработки введенных значений, но Until вы бы лучше поставили в конце программы, перед «END.», было бы логичнее. Иначе какой смысл в цикле вводить разные возраста?

поясню. Это имеет смысл и даже чаще используется, чем использованный тобой выход из программы.
у него пользователь, если случайно введёт неверные данные, то ему опять программа напишет, что надо вводить правильное число лет (по хорошему, в этот цикл можно добавить выдачу сообщения — «бла-бла, Вы ввели неверное число, вводите ещё раз». Поэтому, дальше в программе мы можем быть уверены, что у нас в year нужно число, а не какая-нибудь фигня. Это называется входной контроль данных, защита от дурака.
В твоей же программе, если введут неверное число лет, то программа закончит работу. Так тоже можно.
Это уже на любителя. я бы выбрал первый вариант — с проверкой в цикле.
Но зато твоя программа позволит вводить разные года и будет для них выдавать текст.
Это по условию задачи здесь не требуется, но иногда удобно.

ЦитатаСообщение от Chilipalmer777 Посмотреть сообщение

if (year > 99) then year:= year — 100*(year div 100); // *Убираю «лишние» сотни лет, расчетам не вредит))

Источник

Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста

В зависимости от возраста ребёнка вывести лет, года, год
В зависимости от возраста ребёнка вывести лет, года, год. Необходимо написать код на языке VBA .

Напечатать Мне K лет, в нужных случаях слово «лет» заменяя на «год» или «года»
3. Составьте программу, которая для числа K (от 1 до 99), введенного вами, напечатает фразу «Мне K.

Вывод возраста с префиксом (год, года, лет)
Привет! Подскажите как лучше решить такую проблему есть переменная $skolko_let она возвращает.

Если число оканчивается на 1, то «год». Если на 2,3,4, то «года». Если на 0,5,6,7,8,9, то «лет». Вроде так.

ЦитатаСообщение от LEQADA Посмотреть сообщение

Если число оканчивается на 1, то «год». Если на 2,3,4, то «года». Если на 0,5,6,7,8,9, то «лет». Вроде так.

1 2 3 4 5 6 7 8 9 10 11 12
#include int main() { setlocale(LC_ALL,"Russian"); int year, t1, t2; std::cin>>year; t1 = year % 10; t2 = year % 100; if(t1 == 1 && t2 != 11){std::coutyear" год";} if(t1 >= 2 && t1  4 && (t2  10 || t2 >= 20)){std::coutyear" года";} else {std::coutyear" лет";} }

Источник

Оцените статью