Вывод слов, в которых нету букв первого слова - Pascal

Узнай цену своей работы

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

Дана строка состоящая из слов. Слова разделяются только пробелом. Нужно вывести на экран только те слова, в которых не содержаться буквы первого. Контрольный пример: Ввод: sda asd vbn mnb zxc dsa Вывод: vbn mnb zxc P.S.: Другу надо, он даже с учительницей разбирал, но увы, последнее слово не выводило. Желательно с комментариями.
Вот ещё К.П.: absd fdv mkl egat rty aoj ty -----> mkl rty ty

Решение задачи: «Вывод слов, в которых нету букв первого слова»

textual
Листинг программы
Var s,sl,s1:string;
    i:byte;
    f:boolean;
Begin
    write('Строка: ');readln(s);
    s:=s+' ';
    While s[1]=' ' do
     Delete(s,1,1);
    s1:=Copy(s,1,Pos(' ',s)-1);
    Delete(s,1,Pos(' ',s));
    While Pos(' ',s)>0 do
    Begin
      sl:=Copy(s,1,Pos(' ',s)-1);
      Delete(s,1,Pos(' ',s));
      if sl='' then Continue;
      f:=true;
      For i:=1 to Length(s1) do
       if Pos(s1[i],sl)>0 then
       Begin
         f:=false;
         break;
       End;
      if f then write(sl,' ');
    End;
    readln;
End.

Объяснение кода листинга программы

  1. Создаются переменные s, sl и s1 типа string, i типа byte и f типа boolean.
  2. Вводится строка, которую сохраняют в переменной s.
  3. Переменная s обновляется путем добавления пробела в начало.
  4. Запускается цикл While, который продолжается до тех пор, пока первый символ в переменной s не станет пробелом.
  5. Копируется первый символ из переменной s в новую переменную s1.
  6. Удаляется символ из переменной s.
  7. Запускается цикл While, который продолжается до тех пор, пока в переменной s есть символы.
  8. Для каждого символа в переменной s1 проверяется, равен ли он пустой строке. Если да, то цикл прерывается с помощью команды Continue.
  9. Если предыдущий шаг не выполнен, то переменная f устанавливается в значение true.
  10. Для каждого символа в переменной s1 проверяется, содержится ли он в переменной sl.
  11. Если символ содержится в sl, то переменная f устанавливается в значение false и цикл прерывается с помощью команды break.
  12. Если предыдущий шаг не выполнен, то значение переменной f выводится на экран.
  13. Программа завершается после ввода следующей строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5
Похожие ответы