Напишите трудную в кодировании программку на паскале(всякую).

Напишите трудную в кодировке программу на паскале(всякую).

Задать свой вопрос
1 ответ

uses crt;

разделители слов, можно еще добавить

const zn=[' ',':',',','!','?','-',';',')'];

var s,s1,s2:string;

   i,k:byte;

begin

clrscr;

writeln('Введите строчку, содержащую 2 одинаковых слова:');

readln(s);

s:=s+' ';добавим в конец пробел

for i:=1 to length(s) do

if s[i] in zn then s[i]:=' ';все разделители заменим на пробелы

while pos('  ',s)gt;0 doпока есть 2 пробела рядом(в апострофах 2 пробела)

delete(s,pos('  ',s),1);1 пробел устраняем

if s[1]=' ' then delete(s,1,1);если 1-ый знак пробел, тоже устраняем

k:=0;

while pos(' ',s)gt;0 doпока есть пробел

begin

 s1:=copy(s,1,pos(' ',s)-1);копируем первое слово до пробела

 for i:=pos(' ',s)+1 to length(s) doглядим строчку далее

 if (copy(s,i,length(s1))=s1)если набор знаков совпадает с этим словом

    and(s[i-1]=' ')и перед ним пробел

    and((s[i+length(s1)]=' ')и за ним пробел

    or(i+length(s1)-1=length(s))) thenлибо это заключительнее слово

     begin

      k:=1;закрепляем совпадение

      s2:=s1;запоминаем слово

      write('Одинаковые слова ',s2);выводим на экран

      readln;

      exit;выходим из программки, необходимо только 1 пару

     end;

 delete(s,1,pos(' ',s));устраняем 1-ое слово, последующее 1-ое

end;

if k=0 then write('Нет 2-ух одинаковых слов');

readln

end.

https://pastebin.com/iBg0qVwg Залил тебе на пастибин, что-бы для тебя удобней было.

Женя Кривошейкин
Спасибо)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт