Предмет: Информатика,
автор: gsolodkiiowvts8
Дано натуральное число. Требуется разделить запятыми тройки его цифр (считая справа). Вводится одно натуральное число, не превышающее 10^100. Вывести то же число, разделяя тройки цифр запятыми.
Ответы
Автор ответа:
0
var s: string;
i: integer;
begin
write('число: '); readln(s);
i:=length(s)-2;
repeat
insert(',',s,i);
i:=i-3;
until i<3;
writeln('новое число: ',s);
end.
число: 123456789654321987
новое число: 123,456,789,654,321,987
i: integer;
begin
write('число: '); readln(s);
i:=length(s)-2;
repeat
insert(',',s,i);
i:=i-3;
until i<3;
writeln('новое число: ',s);
end.
число: 123456789654321987
новое число: 123,456,789,654,321,987
Автор ответа:
0
Тогда добавить блок перед repeat: if length(s)>3 then begin repeat ..... until ... end;
Автор ответа:
0
Если Вы это мне, то это неинтересно. Кроме того, как Вы это объясните: число: 1231423454123112313211
новое число: 1231,423,454,123,112,313,211
новое число: 1231,423,454,123,112,313,211
Автор ответа:
0
Каюсь, грешен.
Автор ответа:
0
А что тут переделывать, то var s: string;
i: integer;
begin
write('число: '); readln(s);
i:=length(s)-3;
while i>0 do
begin
insert(',',s,i+1);
i:=i-3;
end;
writeln('новое число: ',s);
end.
i: integer;
begin
write('число: '); readln(s);
i:=length(s)-3;
while i>0 do
begin
insert(',',s,i+1);
i:=i-3;
end;
writeln('новое число: ',s);
end.
Автор ответа:
0
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(' >');
Write('-> ');
var n:=s.Length;
if n<4 then Writeln(s)
else
while true do begin
var p:=n mod 3; p:=p=0?3:p;
Write(s[:p+1],',');
s:=s[p+1:];
n:=s.Length;
if n=3 then begin Writeln(s); Exit end
end
end.
Примеры
> 1231423454123112313211
-> 1,231,423,454,123,112,313,211
> 123456
-> 123,456
> 13
-> 13
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(' >');
Write('-> ');
var n:=s.Length;
if n<4 then Writeln(s)
else
while true do begin
var p:=n mod 3; p:=p=0?3:p;
Write(s[:p+1],',');
s:=s[p+1:];
n:=s.Length;
if n=3 then begin Writeln(s); Exit end
end
end.
Примеры
> 1231423454123112313211
-> 1,231,423,454,123,112,313,211
> 123456
-> 123,456
> 13
-> 13
Похожие вопросы
Предмет: Биология,
автор: luntikparker
Предмет: История,
автор: dzanbaevaaida
Предмет: Геометрия,
автор: cyxarik904
Предмет: Обществознание,
автор: vitaminka0717
Предмет: Математика,
автор: bitcova