zetexer1
21.03.2021 21:21

Псевдокотың програмадан айырмашылығы

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
rybakovjaroslav
30.05.2023 02:23

using System.Linq;

using static System.Console;

 class Program

{

   static void Main(string[] args)

   {

       // заданная строка

       Write("Введите сообщения: ");

       string s = ReadLine();

       // Выведены те слова, которые содержат хотя бы одну цифру

       string[] div = s.Split(' ', ',', '.', '-', '!', '?');

       for (int i = 0; i < div.Length; i++)

       {

           int count = div[i].Where(x => char.IsDigit(x)).Count();

           if (count.Equals(1))

           {

               WriteLine("Слова с цифрами: {0}: ", div[i]);

           }

       }

   }

  }

0,0(0 оценок)
Ответ:
Сани56
11.01.2021 13:16
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 раз:
еду
дин
страшно
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота