Есть ответ 👍

Дана строка в которой содержится осмысленной текстовое сообщение. слова сообщения разделяются пробелами и знаками препинания. вывести только те слова, которые встречаются более n раз.

112
450
Посмотреть ответы 3

Ответы на вопрос:

199535
4,5(84 оценок)

Const   n=50; { максимальное число различных слов в строке }   del=[' ','.',',',': ','; ','-','! ','? ','/']; var   mw: array[1..n] of string; { найденные слова }   mk: array[1..n] of integer; { количество повторений слов }   s,w: string;   i,j,k,l,m: integer;   skip,new_word: boolean; begin   write('введите текст: ');   readln(s);   s: =s+' ';   write('укажите предельное число повторений слова: ');   read(k);   l: =length(s);   m: =0;   skip: =(s[1] in del);   if skip then w: ='' else w: =s[1];   for i: =2 to l do       if s[i] in del then begin           if not skip then begin               { w содержит очередное найденное слово }               j: =1; new_word: =true;               while (j< =m) and new_word do begin                   if w=mw[j] then begin inc(mk[j]); new_word: =false end;                   inc(j)               end;               if new_word then begin inc(m); mw[m]: =w; mk[m]: =1 end;               w: =''; skip: =true           end       end       else           if skip then begin w: =s[i]; skip: =false end           else w: =w+s[i];   { фраза разобрана и проанализирована }   j: =0; i: =1;   while (i< =m) and (j=0) do begin       if mk[i]> k then j: =i;       inc(i)   end;   if j> 0 then begin       writeln('слова, которые встретились больше, чем ',k,' раз: ');       writeln(mw[j]);       for i: =j+1 to m do           if mk[i]> k then writeln(mw[i]);   end   else  writeln('нет слов, которые встретились больше, чем ',k,' раз.') end. тестовое решение: введите текст: еду, еду в чистом поле; колокольчик дин-дин- страшно, страшно поневоле средь неведомых равнин! укажите предельное число повторений слова: 1 слова, которые встретились больше, чем 1 раз: еду дин страшно

  const      z = 30; // максимально число слов    var    s,w : string;     n,p,i,j,l : integer;     words : array [1..z] of string;     kw : array [1..z] of integer;     r : boolean;       begin  writeln ('введите строку');   readln (s);   writeln ('укажите кол-во повторений');   readln (n);       l : = length(s);   p : = 1;   w : = '';         for i : = 1 to l do            if (s[i] < > ' ') and (s[i] < > '.') and (s[i] < > ',') then        w : = w + s[i]          else      begin      for j : = 1 to p do        if w = words[j] then        begin          kw[j] : = kw[j] +1;           r : = true;           end;                 if not r then        begin          p : = p +1;           words[p] : = w;           kw[p] : = kw[p] +1;           end;           w : = '';       r : = false;             end;               for i : = 1 to p do    if kw[i] > n then    writeln (words[i]);                     end.

я не гей хахаххахах

сам гей

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS