• Написать программу на Паскале: Удалить все слова, начинающиеся и заканчивающиеся на одну и ту же букву. (написать комментарий(что означает каждая переменная))

Ответы 6

  • Приведите пример входной строки, где ошибка времени выполнения.
  • В строке "until >length(s)", естественно, должно быть until i>length(s);
    • Автор:

      carleigh
    • 6 лет назад
    • 0
  • Вы хотели комментарии, Вы их получили, теперь убирайте их все.
  • Заработало! Спасибо большое!
  • Пожалуйста.
    • Автор:

      paris
    • 6 лет назад
    • 0
  • var s: string;  // строка текста    i,lf: integer;  // lf - номер первого символа отдельного слова в строке                    // i - переменная цикла, для просмотра строкиbegin  write('строка: ');  readln(s);  // считывание слова  i:=1; lf:=1;  // i:=1; - текущий символ слова - первый                // lf:=1;  - lf указывает на первый символ слова     repeat       // цикл по строке     if s[i]=' ' then   // если очередной символ строки - пробел, то    begin              // начало блока операторов      if UpperCase(s[i-1])=UpperCase(s[lf]) then  // если последний символ текущего                            // слова равен первому символу слова без учета регистра, то      begin                 // начало блока операторов         delete(s,lf,i-lf+1);  // удаляем слово вместе с пробелом справа        i:=lf;                // i:=lf;  - переменная i указывает на следующее слово      end                     // конец блока операторов        else lf:=i+1;           // иначе, если первый символ слова не равен                              // последнему символу слова, устанавливаем lf на                              // первый символ следующего слова     end;                      // конец блока по условию, что очередной символ - пробел    i:=i+1;                   // переходим к следующему символу в строке  until  >length(s);          // если номер очередного символа строки больше длины                              // строки, то выход из цикла по строке                              // если в последнем слове текста есть совпадения                              // первого и последнего символа  if s[length(s)] in ['.','?','!'] then   // если текст заканчивается одним из знаков .?!       if s[lf]=s[length(s)-1] then delete(s,lf-1,length(s)-lf+1) // сравниваем с предпоследним                              // если равны, то удаляем последнее слово       else                     // иначе ничего не делаем     else if s[lf]=s[length(s)] then delete(s,lf-1,length(s)-lf+2);   // если последний                              // символ не .?!, то сравниваем первый символ последнего                              // слова с последним символом текста, если равны,                              // то удаляем последнее слово  writeln('новая строка: ',s);  // выводим новую строку на экранend.     // конец программыстрока: Это озеро около заповедника.новая строка: Это заповедника.строка: Около этого заповедника находится озеро.новая строка: этого заповедника находится.строка: озеро около заповедникановая строка: заповедника
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years