Найти и вывести размер самой большой строки в текстовом файле - 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();
}