Традиционное решение: var n,d1,d2,d3,d4:integer; begin Write('Введите четырехзначное натуральное число: '); Readln(n); d1:=n div 1000; d4:=n mod 10; d3:=(n mod 100) div 10; d2:=(n mod 1000) div 100; n:=1000*d1+100*d3+10*d2+d4; Writeln('Результат: ',n) end.
Решение с использованием символьного представления числа: var s:string; begin Write('Введите четырехзначное натуральное число: '); Readln(s); Writeln('Результат: ',s[1]+s[3]+s[2]+s[4]) end.
должно по идее получиться "нет худо без добра.", но у меня получилось
"нет худо бrз одра." может ты в условии что-то напутала? вот программа которая переводит
function Pow(a, x:integer):integer;
var
rez, i:integer;
begin
rez := 1;
for i := 1 to x do
rez := rez * a;
Pow := rez;
end;
function BinToDec(a:string):integer;
var
i ,r:integer;
begin
r := 0;
for i := length(a) downto 1 do
r := r + StrToInt(a[i]) * Pow(2, length(a) - i);
BinToDec := r;
end;
var
s:array[1..100] of string;
i:integer;
begin
s[1] := '11001101';
s[2] := '11100101';
s[3] := '11110010';
s[4] := '00100000';
s[5] := '11110101';
s[6] := '11110011';
s[7] := '11100100';
s[8] := '11100000';
s[9] := '00100000';
s[10] := '11100001';
s[11] := '1110010';
s[12] := '11100111';
s[13] := '00100000';
s[14] := '11101110';
s[15] := '11100001';
s[16] := '11110000';
s[17] := '11100000';
s[18] := '00101110';
for i := 1 to 18 do
write(chr(BinToDec(s[i])));
end.