Помощь - Поиск - Пользователи - Календарь
Полная версия: Записи и строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
BAEVIK
Записи и строки
Дано целое число. Создать массив символов, содержащий цифры этого числа в исходном и в обратном порядках.
unsure.gif
amega
BAEVIK


program _1_;
uses crt;
var
a:array [1..100] of integer;
b:array [1..100] of integer;
c:integer;
i:integer;
j:integer;
begin
clrscr;
writeln('vvedite 4islo');
readln©;
i:=0;
writeln('masiv 1:');
while c<>0 do begin
i:=i+1;
a[i]:=c mod 10;
c:=c div 10;
write(a[i],' ');
end;
writeln;
writeln('masiv 2:');
j:=1;
while i<>0 do begin
b[j]:=a[i];
write(b[j],' ');
i:=i-1;
j:=j+1;
end;
readln;
end.

volvo
Цитата
var
a:array [1..100] of integer;
b:array [1..100] of integer;

Это что, обязательно? Для того, чтобы запомнить максимум 9 цифр числа (больше в LongInt не помещается) резервировать место под 2*100 integer-ов, хотя достаточно 2*9 byte-ов? Как ты еще без goto обошелся - странно...

var
a, b: array[1 .. 9] of byte;
X: longint; i, j: integer;

begin
X := 14567; { <--- Сделать ввод с клавиатуры }
i := 0;
while X > 0 do begin
inc(i); a[i] := X mod 10;
X := X div 10;
end;

for j := i downto 1 do
b[i - j + 1] := a[j];

for j := 1 to i do write(a[j]:4);
writeln;
for j := 1 to i do write(b[j]:4);
writeln;
end.
Этого вполне достаточно...
amega
Цитата
Как ты еще без goto обошелся - странно...


blum.gif

Цитата
Это что, обязательно?

эт задачка осталась у меня со школьних практических по информатике, дак я ее просто скопирувал не думалши ниче cool.gif
BAEVIK
А всё равно не правильно нада чтобы не просто в обратном порядке а чтобы допустим число 1 заменялась буквай А ,а 2 заменялась В как это сделать ?
volvo
Цитата
А всё равно не правильно нада чтобы не просто в обратном порядке а чтобы допустим число 1 заменялась буквай А ,а 2 заменялась В
Об этом мы что, должны были сами догадаться, из твоего задания? Там ничего подобного сказано не было...

Цитата
как это сделать ?

var
a: array[1 .. 9] of byte;
b: array[1 .. 9] of char;
X: longint; i, j: integer;
begin
X := 14567;
i := 0;
while X > 0 do begin
inc(i); a[i] := X mod 10;
X := X div 10;
end;
for j := i downto 1 do
b[i - j + 1] := Chr(Ord('A') + a[j]); { 0 заменяется на А, 1 на B и так далее... }
for j := 1 to i do write(a[j]:4);
writeln;
for j := 1 to i do write(b[j]:4);
writeln;
end.
, и в следующий раз будь добр приводить задачу полностью...
BAEVIK
Цитата(volvo @ 4.02.2009 12:48) *

Об этом мы что, должны были сами догадаться, из твоего задания? Там ничего подобного сказано не было...
var
a: array[1 .. 9] of byte;
b: array[1 .. 9] of char;
X: longint; i, j: integer;
begin
X := 14567;
i := 0;
while X > 0 do begin
inc(i); a[i] := X mod 10;
X := X div 10;
end;
for j := i downto 1 do
b[i - j + 1] := Chr(Ord('A') + a[j]); { 0 заменяется на А, 1 на B и так далее... }
for j := 1 to i do write(a[j]:4);
writeln;
for j := 1 to i do write(b[j]:4);
writeln;
end.
, и в следующий раз будь добр приводить задачу полностью...

Да я сам не знал это училка типа так нада сделать а сразу наверно написать её не ьзя было !!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.