#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
cout<<"Введи свой возраст"<<endl;
int a;
cin>>a;
if (a<1||a>130){cout<<"Введено некорректное значение"; return 0;}
if (a%100==11||a%100==12||a%100==13||a%100==14){cout<<"Вам "<<a<<" лет"; return 0;}
if (a%10==1){cout<<"Вам "<<a<<" год"; return 0;}
if (a%10==2||a%10==3||a%10==4){cout<<"Вам "<<a<<" года"; return 0;}
cout<<"Вам "<<a<<" лет";
return 0;
}
Есть еще возможность проверки принадлежности введеной строки к числовому типу. Но, просматривая уровень ваших заданий, я пришел к выводу, что функции такого уровня будут не совсем желательны. Если все-же нужна - пишите.
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
cout<<"Введи свой возраст"<<endl;
int a;
cin>>a;
if (a<1||a>130){cout<<"Введено некорректное значение"; return 0;}
if (a%100==11||a%100==12||a%100==13||a%100==14){cout<<"Вам "<<a<<" лет"; return 0;}
if (a%10==1){cout<<"Вам "<<a<<" год"; return 0;}
if (a%10==2||a%10==3||a%10==4){cout<<"Вам "<<a<<" года"; return 0;}
cout<<"Вам "<<a<<" лет";
return 0;
}
Есть еще возможность проверки принадлежности введеной строки к числовому типу. Но, просматривая уровень ваших заданий, я пришел к выводу, что функции такого уровня будут не совсем желательны. Если все-же нужна - пишите.
var x,y,z, y1,x1:integer;
begin
x1:=270 div 15;
for x:=1 to x1 do
begin
y1:=(270-15*x) div 20;
for y:=1 to y1 do
begin
z:=(270-15*x-20*y) div 30;
if 1(5*x+20*y+30*z=270) and (z<>0) then
writeln(x:5,y:5,z:5,'proverka',15*x+20*y+30*z=270);
end;
end;
end.
ответ
2 3 6proverkaTRUE
2 6 4proverkaTRUE
2 9 2proverkaTRUE
4 3 5proverkaTRUE
4 6 3proverkaTRUE
4 9 1proverkaTRUE
6 3 4proverkaTRUE
6 6 2proverkaTRUE
8 3 3proverkaTRUE
8 6 1proverkaTRUE
10 3 2proverkaTRUE
12 3 1proverkaTRUE
Проверку можно убрать. Используем два цикла для перебора, а z -вычисляем