Определяет самую длинную последовательность цифр в тексте (считать, что любое количество пробелов между двумя - C#

Узнай цену своей работы

Формулировка задачи:

Нахожу самую длинную последовательность, но пробел прерывает последовательность. Нужно, что бы не прерывал
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
 
namespace Laba2._3
{
    class var3
    {
        static void Main(string[] args)
        {
            try
            {
                // Создем экземпляр StreamReader для чтения из файла.
                using (StreamReader sr = new StreamReader("123.txt"))
                {
 
                    String line = sr.ReadToEnd();
                    Console.WriteLine(line);

                    //string numbers = @"[0-9]+";
                    //foreach (Match match in Regex.Matches(line, numbers))
                    //    Console.WriteLine(match.Value);
 
                    string result = string.Empty;
                    string temp = string.Empty;

                    foreach (char n in line)
                    {
                        if (char.IsDigit(n))
                        {
                            temp += n;
                        }
                        else
                        {
                            if (temp.Length > result.Length)
                            {
                                result = temp;
                            }
                            temp = string.Empty;
                        }
                    }
                    Console.WriteLine(result);
 
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
            Console.ReadKey();
        }
    }
}

Решение задачи: «Определяет самую длинную последовательность цифр в тексте (считать, что любое количество пробелов между двумя»

textual
Листинг программы
  int k = 0;
 
            foreach (char n in line)
            {
                k++;
 
                if (char.IsDigit(n))
                {
                    temp += n;
                    if (temp.Length > result.Length || line.Length == k && temp.Length > result.Length)
                        result = temp;
                }
 
                else if (n == ' ')
                    continue;
 
                else
                    temp = string.Empty;
                
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы