Удалите первое вхождение w в строку, если такое есть - Pascal ABC

Формулировка задачи:

Очень нужно на завтра!!! Известно, что в начале строки S находится не более 40 латинских букв, за которыми следуют пробелы. Напечатайте эту строку, предварительно преобразовав ее так, как показано ниже, и используя следующий фрагмент программы:
Tуре
  строка = array [1..80] of char;
Vаr
  S : строка;
Удалите первое вхождение w, если такое есть (образовавшуюся «дыру» заполните последующими буквами, а в конец добавьте точку); Заранее спс)

Код к задаче: «Удалите первое вхождение w в строку, если такое есть - Pascal ABC»

textual
uses crt;
 
type
  stroka = array [1..80] of char;
 
var
  s:stroka;  //по-русски не работает
  i:integer;
  b:boolean; //проверка, была ли буква W
Begin        //true-была, false-не было
  b:=false;
  write('ishodnaya stroka: ');
  for i:=1 to 40 do
    begin
      s[i]:=Char(Random(26)+97); //заполняю массив случайными МАЛЕНЬКИМИ латинскими буквами
      write(s[i],' ');
    end;
  writeln;
  
  write('itogovaya stroka: ');
  for i:=1 to 40 do
    begin
      if not b then    // если W еще не было
        begin
          if s[i]='w' then  //проверка символа
            begin
              b:=true;      //отмечаю, что W была
              s[i]:=' ';    //заменяю на пробел(не понял, как заменить на пустоту, ->
            end;                   //- > несовместимость типов Char и String...
        end
      else           // если W уже была
        begin
          s[i-1]:=s[i];  //замена предыдущего символа на этот(смещение,грубо говоря)
        end;
      if s[i]<>' ' then  //а это просто чтобы сразу выводилось, если нужно, то выведите отдельным циклом
        write(s[i],' ');
    end;
End.

9   голосов, оценка 4.333 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы