Найти и вывести размер самой большой строки в текстовом файле - C#

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

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

Задание такое: найти и вывести размер самой большой строки в текстовом файле. Вот что в есть в текстовом файле: red blue yellow green x размер самой большой строки здесь равен 6, а компилятор выводит 8. Вот код:
class MainClass
    {
 
        public static void Main (string[] args)
        {
            FileStream file1 = new FileStream("C:\\Users\\1\\Desktop\\Прог_справки\\numbers.txt", FileMode.Open);
            StreamReader reader = new StreamReader(file1);
            Console.WriteLine (BiggestLine(reader.ReadToEnd ()));
 
        }
 
        public static string BiggestLine(string letter)
        {
            string[] lines = letter.Split ('\n');//теперь элементы массива это отделные строки
            char[] gh;
            int[] num = new int[lines.Length];
            int y = 0;
            for (int i = 0; i < lines.Length; i++)
            {
                gh = lines[i].ToCharArray ();//переводим строки поочереди в массив символов строки
                while ( y < i){
                    num [y] = gh.Length;//количество символов в строке становится элементом массива
                    y++;
                }
            }//теперь количество символов в каждой строке являются элементами массива num[]
            int max = num [0];
            for (int u = 1; u < num.Length; u++) {
                if (num [u] > max) 
                {
                    max = num [u] + 1;//находим размер самой большой строки (без "+ 1" выводилось 5, но правильный ответ 6 поэтому добавил)
                    
                }
            }
 
            string size = Convert.ToString (max);
            return size;
        }
    }

Решение задачи: «Найти и вывести размер самой большой строки в текстовом файле»

textual
Листинг программы
        public string BiggestLineOld(string letter)
        {
            string[] lines = letter.Split('\n');
            char[] gh;
            int[] num = new int[lines.Length];
            for (int i = 1; i < lines.Length; i++)
            {
                gh = lines[i].ToCharArray();
                num[i] = gh.Length;
            }
            int max = num[0];
            for (int i = 1; i < num.Length; i++)
            {
                if (num[i] > max)
                {
                    max = num[i];
                }
            }
 
            return max.ToString();
        }

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


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

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

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