Помощь - Поиск - Пользователи - Календарь
Полная версия: Заменить многоточие одной точкой
Форум «Всё о Паскале» > 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.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.