• Пожалуйста,помогите!!!!!!!!!!!!!!!!!!!!!!!!!! Си Шарп. дана строка в которой содержится осмысленное текстовоесообщение .слова сообщения разделяются пробелами и знаками препинания.Найти максимальное целое число,встречающееся в сообщении

Ответы 1

  • 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;

    }

    }

    • Автор:

      carrillo
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years