Другие языки программирования и технологии

Олимпиадная задача по Информатике!

Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке. Скажите как сделать правильно( Нужно на Паскале). Я решил вот таким способом, буквы как надо остались на месте о вот цифры не в обратном порядке program A; var s:string; ch:char; i:byte; begin readln(s); for i:=1 to trunc(length(s)/7) do begin ch:=s[4]; s[4]:=s[length(s)-i+1]; s[length(s)-i+1]:= ch; end; writeln(s); readln(s); end.
Приведи задание как оно тебе было дано!
А то по твоему объяснению ничего не понятно.
Программа - это вообще ерунда какая-то.. .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для вот такого задания: Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.
Можно вот так например:
var S, S0 : String; N : Byte;
begin
ReadLn(S0);
S := ''; for N := Length(S0) downto 1 do S := S + S0[N];
WriteLn(S);
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Вот 2 варианта решения:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var
S : String;
C : Char;
L, R : Byte;
begin
Write('Введите строку: '); ReasLn(S);
L := 1; R := Length(S);
repeat
while Not(S[L] in ['0'..'9']) and (L <= R) do Inc(L);
while Not(S[R] in ['0'..'9']) and (L <= R) do Dec(R);
if L < R then begin C := S[L]; S[L] := S[R]; S[R] := C; Inc(L); Dec(R); end;
until L >= R;
WriteLn(S);
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var
S, S1 : String;
N, P : Byte;
begin
Write('Введите строку: '); ReasLn(S);
S1 := '';
for N := 1 to Length(S) do if S[N] in ['0'..'9'] then S1 := S1 + S[N];
P := Length(S1); for N := 1 to Length(S) do if S[N] in ['0'..'9'] then
begin S[N] := S1[P]; Dec(P); end;
WriteLn(S);
end.
И.
Иван .
50 577
Лучший ответ
Program bla bla:
var s,s1:string;
i,j:integer;
begin
readln(s);
i:=length(s);
while i<>0 do
begin
s1[j]:=s[ i ];
I:=i-1;
j:=j+1;
end;
end.

Должна работать)
Дима Суворов
Дима Суворов
3 396
Тут все просто:
program perevorot;
var
s: string;
i: integer;
begin
read(s);
for i:=length(s) downto 1 do
write(s);
end.
AM
Adam Mamij
603