Опубликовано 03.01.2018 по предмету Информатика от Гость

Написать программу в паскале: Дана строка текста. Слова в тексте друг от друга отделяются одним пробелом. Удалить из строки все слова, начинающиеся и заканчивающиеся на "о".

Ответ оставил Гость

Var
  ptr: integer;

function GetWord(s: string): string;
// Возвращает очередное слово из строки s или пустое значение,
// если в строке больше нет слов.
// Перед вызовом позиция начала слова указывается переменной ptr.
// Перед выходом ptr устаналивается на границу следующего слова
// ptr=0 означает, что вся строка просмотрена.
var
  n, p: integer;
begin
  n := Length(s);
  if (ptr >= n) or (ptr=0) then begin
    ptr := 0;
    Result :=
  end
  else begin
    p := PosEx( , s, ptr);
    if p > 0 then begin
      Result := Copy(s, ptr, p - ptr);
      ptr := p + 1
    end
    else begin
      Result := Copy(s, ptr, n - ptr + 1);
      ptr := 0
    end
  end
end;

var
  s1, s2, s: string;
  n: integer;

begin
  writeln(Вводите строку);
  readln(s1);
  ptr := 1;
  s2 := ;
  repeat
    s := GetWord(s1);
    n := Length(s);
    if n > 0 then
      if (s[1] <> о) or (s[n] <> о) then
        s2 := s2 + s +
  until n = 0;
  n := Length(s2);
  if s2[n] = then
    s2 := Copy(s2, 1, n - 1);
  writeln(Результирующая строка: , s2)
end.

Тестовый прогон:

Вводите строку
В это окно отлично виден и прекрасный горный ландшафт, и одинокое облако, зацепившееся за покрытую снегом вершину.
Результирующая строка: В это виден и прекрасный горный ландшафт, и одинокое облако, зацепившееся за покрытую снегом вершину.



Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы
Самые новые вопросы