Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
1 / 1 / 0
Регистрация: 23.05.2017
Сообщений: 21
1

Регулярное выражение. Найти максимальное целое число

23.05.2017, 21:10. Показов 5520. Ответов 9

Author24 — интернет-сервис помощи студентам
Задание: Найти максимальное целое число, встречающееся в сообщении.
Вот мой код,но он не работает,можете мне его исправить,пожалуйста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку");
                string s = Console.ReadLine();
                string s1 = @"^\d+";
                if (Regex.IsMatch(s, s1))
                    Console.WriteLine("Является числом");
                else
                    Console.WriteLine("Не является числом");
                int n = Convert.ToInt32(s);
                int max = 0;
                if (max > n) { n = max; }
                Console.WriteLine("Максимальное число: " + n);
                Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2017, 21:10
Ответы с готовыми решениями:

Регулярное выражение: только одно целое положительное число
Здравствуйте, подскажите написать регулярное выражение. нужно чтобы в искомой строке выявлялась...

Регулярное выражение: как вытащить n из row[n], где n-целое число
Здравствуйте, как вытащить n из row, где n-целое число

Дано целое число N. Найти наименьшее целое положительное число K, при котором выполняется неравенство 3^k > N.
Используя цикл while Дано целое число N. Найти наименьшее целое положительное число K, при котором...

Регулярное выражение: либо целое, либо десятичное положительное или отрицательное число
День добрый. Никак не могу врубиться в регулярные выражения. Нужно проверить в форме ввода,...

9
Special user
36 / 36 / 16
Регистрация: 07.10.2013
Сообщений: 121
23.05.2017, 21:19 2
Какую логику вы заложили в код выше?
0
1 / 1 / 0
Регистрация: 23.05.2017
Сообщений: 21
23.05.2017, 21:24  [ТС] 3
как нам сказали, сначала проверить есть ли там числа, а после в строке найти максимальное, а я как сильно не понимаю, много пропустила, то не смогла даже код вменяемый написать
0
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
23.05.2017, 21:31 4
C#
1
2
3
4
            string str = "lkj 123 ;ljn 321 1.25 9999,9";
            var result = new Regex(@" \d+ ").Matches(str).Cast<Match>().Max(x => int.Parse(x.ToString()));
            Console.WriteLine(result);
            Console.ReadKey(true);
0
1 / 1 / 0
Регистрация: 23.05.2017
Сообщений: 21
23.05.2017, 21:35  [ТС] 5
Спасибо большое, а можете объяснить что делает вот это выражение Cast<Match>()
0
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
23.05.2017, 21:35 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        static void Main(string[] args)
        {
            Console.Write("Введите строку: ");
            string s = Console.ReadLine();
            if(s.Split(' ').Count()==0)
            {
                Console.WriteLine("Не введено ни одного значения");
            }
            else
            {
                var number = s.Split(new[] { " "},StringSplitOptions.RemoveEmptyEntries).Where(x=>IsNumber(x)).Select(k=>double.Parse(k)).Max();
                Console.WriteLine("Максимальный элемент: " + number);
            }
            Console.ReadKey();
        }
        public static bool IsNumber(string text)
        {
            double dbl;
            return double.TryParse(text,out dbl);
        }
0
SkyBy
23.05.2017, 21:40
  #7

Не по теме:


.

Цитата Сообщение от Криска Вайс Посмотреть сообщение
целое число
Цитата Сообщение от 1231231ghacking Посмотреть сообщение
double.Parse
Цитата Сообщение от 1231231ghacking Посмотреть сообщение
double.TryParse
.

0
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
23.05.2017, 21:43 8
переводит MatchCollection в коллекцию типа Match
0
1 / 1 / 0
Регистрация: 23.05.2017
Сообщений: 21
23.05.2017, 21:46  [ТС] 9
СПпасибо
0
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
24.05.2017, 08:09 10
SkyBy, не составит труда изменить на:
C#
1
int.TryParse
C#
1
int.Parse
Добавлено через 15 секунд
SkyBy, не составит труда изменить на:
C#
1
int.TryParse
C#
1
int.Parse
0
24.05.2017, 08:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2017, 08:09
Помогаю со студенческими работами здесь

Найти минимальное и максимальное целое число
В заданной строке найти минимальное и максимальное целое число (числа могут быть отрицательными, в...

Найти максимальное целое число в последовательности символов
Задачка: Входной ряд символов может содержать целые числа. Необходимо найти их и отыскать среди них...

Найти максимальное целое число в файле и вывести
Доброго времени суток,с не давних пор появилось желание изучить bash и все что с ним связано ,так...

В заданной строке найти минимальное и максимальное целое число
В заданной строке найти минимальное и максимальное целое число (числа могут быть отрицательными, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru