В данной программе пишет само число, а не коды цифр. Например, при вводе 5 получается как во вложении. То есть пишется 5, а отображается 5-ый символ по какой-то из кодировок.
В простейших случаях, для олимпиадных задач, например, можно сделать так
assign (input, 'a'); reset (input);
assign (output, 'b'); rewrite (output);
Это перенаправит стандартный ввод-вывод в эти файлы.
Uses crt;
var pr,sum,e,d,s,t,a:integer;
begin
readln(a);
e:=a mod 10;
d:=(a div 10) mod 10;
s:=(a div 100) mod 10;
t:=a div 1000;
pr:=1;
sum:=0;
if e mod 2 =0 then sum:=sum+e else pr:=pr*e;
if d mod 2 =0 then sum:=sum+d else pr:=pr*d;
if s mod 2 =0 then sum:=sum+s else pr:=pr*s;
if t mod 2 =0 then sum:=sum+t else pr:=pr*t;
writeln(sum);
writeln(pr);
end.
Не знаю пишут ли тут готовый код, но я ****** писать его, но попробую помочь схемой.
Насчет диапазона я не понял точно, его тебе весь дали или в форме 1-10 или каждое число
крч я пишу общее решение а ты уже подумаешь как в твоей ситуации работать
1. берешь все делители числа
что бы сделать это ты узнаешь число и делишь в цикле от 1 и дальше i++, понятное нужны только такие делители про котором остаток будет 0
т.е делаешь проверку на то что бы (% == 0)
если равно записываешь число(в массив или какт придумаешь), нет - идешь по циклу дальше
проверяешь пока i!=твоему числу (это и нормально цикл намутит и сразу исключит самое число в качестве делителя)
если цикл закончился суммируешь всё что достал и проверяешь равна ли эта сумма твоему числу, если да используешь cout а в нем начальное число если нет идешь ко второму и заново схема
для такой махинации нужен наверно будет еще 1 цикл поверх этого с проверкой на то что твое число не равно конечному в диапазоне/
Надеюсь помог тебе хотя бы немного.
Var
S, X, a, b, R: Real;
C: String;
Begin
WriteLn('Chto budem vichislat');
ReadLn(C);
if C = 'O' then begin
WriteLn('Radius');
ReadLn(R);
S:= Pi*sqr(R);
end;
if C:= 'T' then begin
WriteLn('Vvedite 1 katet);
ReadLn(a);
WriteLn('Vvedite 2 katet);
ReadLn(b);
S:= 1/2 * a * b;
end;
if C:= 'K' then begin
WriteLn('Vvedite 1 katet);
ReadLn(a);
S:= sqr(a);
end;
WriteLn('Ploshad = ');
ReadLn(S);
end.