Поиск самой длинной строки в списке - C#

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

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

Всем привет, захотел написать программу, которая по заданному текстовому файл будет находить саму длинную строку, выводить ее на экран, показывать ее длину и порядковый номер в списке. Адекватно показывает только длину, порядковый номер показывает меньше, саму строку и вовсе пропускает. Подскажите, в чем моя ошибка?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string imya;
            Console.WriteLine("Введите имя файла с рабочего стола:");
            imya = Convert.ToString(Console.ReadLine());
            StreamReader reader = new StreamReader("C:\\Users\\Игорь\\Desktop" + imya + ".txt", Encoding.UTF8);
            int kolvo = 0;
            int nomerstr = 0;
            int teknomerstr = 0;
            string stroka = "piska";
            do
            {
                int kolvo1 = reader.ReadLine().Length; //записываю в переменную длину строки
                teknomerstr += 1; //записываю в переменную порядковый номер строки
                if (kolvo1 > kolvo) //если новое значение максимальной длины строки больше предыдущего значения
                {
                    stroka = Convert.ToString(reader.ReadLine()); //строка принимает значение длинной строки
                    kolvo = kolvo1; //предыдущее значение максимальной длины принимает значение нового значения
                    nomerstr = teknomerstr; //номер строки принимает значение номера строки, где была максимальная длина
                }
            }
            while (!(reader.EndOfStream));
            Console.WriteLine(stroka);
            Console.WriteLine("Длина строки - " + kolvo + " символов");
            Console.WriteLine("Порядковый номер строки в списке - " + nomerstr);
            Console.WriteLine("Введи любую клавишу для закрытия приложения");
                Console.ReadKey();
        }
    }
}

Решение задачи: «Поиск самой длинной строки в списке»

textual
Листинг программы
int kolvo1 = reader.ReadLine().Length; //записываю в переменную длину строки
teknomerstr += 1; //записываю в переменную порядковый номер строки
if (kolvo1 > kolvo) //если новое значение максимальной длины строки больше предыдущего значения
{
    stroka = Convert.ToString(reader.ReadLine()); //строка принимает значение длинной строки

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


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

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

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