Помощь - Поиск - Пользователи - Календарь
Полная версия: Подскажите, как решить задачу
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Mickola
Дана задача:

Дано натуральное число n. Получить символьное представление n в виде последовательности цифр и пробелов, отделяющих группы по три цифры, начиная справа. ( например, если n=1234567, то должно получиться 1 234 567).

Знаю как решить эту задачу без использования динамической памяти:

var N: Longint;
S: String;
D: Word;
I: Integer;
begin
ReadLn(N);
while N > 0 do begin
D := N mod 10;
N := N div 10;
S := Char(D+Ord('0')) + S;
I:=I+1;
if I = 3 then begin
S := ' ' + S;
I := 0;
end;
end;
WriteLn(S);
readln;
end.

Помогите пожалуйста решить эту задачу с использованием динамической памяти. Заранее благодарен.

1 поменя название темы
2 пользуйся тегами
klem4
klem4
Ну вот так например ;)

uses crt;

var

n,i : LongInt;
s : string;

begin

clrscr;

readln(n);

Str(n,s);

i := length(s) - 2;

while (i >= 1) do begin
Insert(' ', s, i);
dec(i, 3);
end;

writeln(s);

readln;
end.


Куда тут использование динамической памяти пихать (так чтобы не безсмысленно было) ума не приложу.
Mickola
Тема этой задачи звучит как "строки Pchar"....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.