В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
adeka088
adeka088
25.12.2022 08:03 •  Информатика

Создать одномерный массив. ( Массив B из простых элементов массива А) и с++ и Паскаль

Показать ответ
Ответ:
Relig1d
Relig1d
06.05.2023 11:45

using System;

using System.Text.RegularExpressions;


internal class Program

{

private static void Main()

{

var test_lines = new[]

{

"Я сегодня съела 2 булочки, 7 сосисок и выпила 3 чашки кофе.",

"Старший брат родился в 1990 году, а младший - в 2000г.",

"Мне нравится книга '100 лет одиночества'"

};


foreach (var test_line in test_lines)

{

Console.WriteLine(test_line);

Console.WriteLine("Самое большое число в строке {0} или {1}", FindMaxNumber(test_line), FindMaxNumberWithRegex(test_line));

}


Console.WriteLine();


Console.WriteLine("Введите строку");

var line = Console.ReadLine();

Console.WriteLine("Самое большое число в строке {0} или {1}", FindMaxNumber(line), FindMaxNumberWithRegex(line));

Console.ReadKey();

}


private static int FindMaxNumberWithRegex(string line)

{

var matches = Regex.Matches(line, @"[0-9]+"); //находим все вхождения цифр в строку, не зависимо от того часть это слова или нет

if (matches.Count < 1) return -1;


var max = -1; //предполагаем что ищем лишь положительные числа


foreach (Match match in matches)

{

var num = int.Parse(match.Value); //переводим строку в число, то что это число мы уже знаем

max = Math.Max(max, num);

}

return max;

}


private static int FindMaxNumber(string line)

{

var words = line.Split(new[] { ' ', ',', '.', '-', ':' }, StringSplitOptions.RemoveEmptyEntries);//разбивает строку на массив строк

var max = -1; //предполагаем что ищем лишь положительные числа


foreach (var word in words)

{

if (int.TryParse(word, out var num) && num > max) //если слово есть число и оно больше максимума

{

max = num;

}

}

return max;

}

}

0,0(0 оценок)
Ответ:
хВика
хВика
06.05.2023 11:45
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-бота