Помощь - Поиск - Пользователи - Календарь
Полная версия: Заменить многоточие одной точкой
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
}0pa
Помогите доработать: Использовав ТОЛЬКО тип Char, заменить многоточие точкой (в смысле больше одной точки точкой).
Моя идея: Вводим букву, если она и предыдущая не точка, то выводим на экран эту букву ниже в другой строке...
Помогите, запутался совсем! rolleyes.gif

uses crt;
var
n,i,x,y,k: integer;
ch,next: char;
first: boolean;
begin
clrscr;
write('DLuHA CTPOKu: ');
readln(n);
write('CTPOKA: ');
first := true; next := #0;
k:=0;
for i := 1 to n do
begin
ch := readkey;
{write(ch);}
x:=WhereX;y:=WhereY;
if (next='.') and (ch='.') then
begin
gotoXY(10,10);
write(ch);
gotoXy(x+k,y);
end
else
begin
write(ch);
k:=k+1;
end;
next := ch;
end;

writeln;
readkey
end.


М
}0pa, пожалуйста используй правильные теги. Lapp

Lapp
Я не понял - почему ты не можешь просто пропускать точки, если предыдущая была точка? Зачем ты пытаешься писать какие-то точки внизу?...
Короче, скажи, что тебя не устраивает тут:
(я взял твою прогу и повыкидывал все, что, по моему мнению, лишнее)
uses
CRT;
var
i: integer;
ch,next: char;
begin
write('Type in a line (Ctrl-Z at the end) : ');
next := #0;
repeat
ch := readkey;
if ch<>#26 then if (ch<>'.')or(next<>'.') then Write(ch);
next := ch;
until ch=#26;
writeln;
readkey
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.