Kum
Удален
|
Помогите, кто чем может... {Число а=1234 преобразовать в число b=4321} Program GG; Var i:byte;a,b:integer;S1,S:string; code:integer; Begin a:=1234; Str(a,S); writeln('S=',S); for i:=1 to length(S) do S1:=S[length(S)+1-i]; for i:=1 to length(S1) do {Не вычисляет длину S1. Если поставить S, то все в порядке} write(S1); writeln; writeln('L(S1)=',length(S1)); Val(S1,b,code); writeln('code=',code) ; writeln('b=',b) ; readln; end.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 12 марта 2005 13:00 | IP
|
|
dm
Удален
|
Так Вы себе представляете свободное общение?
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 12 марта 2005 14:10 | IP
|
|
VF
Administrator
|
Не надо нового массива. Переставлять пары чисел из первой и второй половины, используя промежуточную переменную. Делать это нужно до середины массива. На сколько помню, в паскале строки можно присваивать непосредственно. Вместо write(a); writeln; проще писать writeln(a); Тема перемещена сюда.
|
Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 12 марта 2005 14:18 | IP
|
|
Kum
Удален
|
Почему созданная строка S1 не поддается функции length(S1)? ------------------------------ for i:=1 to length(S) do S1:=S[length(S)+1-i]; for i:=1 to length(S1) do {Не вычисляет длину S1. Если поставить S, то все в порядке} write(S1);
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 12 марта 2005 14:49 | IP
|
|
VF
Administrator
|
Размер строки в Pascal хранится в ее нулевом элементе. Наверно при посимвольной обработке он не изменяется.
|
Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 14 марта 2005 12:57 | IP
|
|
Unnamed
Новичок
|
А зачем через строки-то делать? Гораздо проще-то при помощи div и mod: uses crt; var a,b,i: Integer; begin clrscr; a := 1234; { или ReadLn(a);} b := 0; repeat b := b*10 + a mod 10; a := a div 10; until a=0; WriteLn(b); ReadLn; end. И все дела :-)
|
Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 23 марта 2005 17:42 | IP
|
|
Kum
Удален
|
Cпасибо Unnamed, я это знаю, вопрос чисто спортивного интереса, почему со строкой не получается? Админ здравую мысль кинул...
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 23 марта 2005 20:25 | IP
|
|