Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 18:03   #1
gvozdik12
Пользователь
 
Регистрация: 17.03.2013
Сообщений: 22
По умолчанию Текстовые файлы. С#

даны 2 текстовых файла, необходимо вывести порядковый номер первого различия... Например файл1: privet файл 2: poka консоль должна вывести эти строки и цифру 1, т.к. нумерация с 0. У меня происходит зацикливание, т.е. выводит цифру 1 в данном случае бесконечное кол-во раз. А если вставить break то выведет все порядковые номера не совпадений.... т.е. 2 3 4. Помогите пожалуйста исправить код до завтра
Цитата:
namespace ConsoleApplication41
{
class Program
{
static void Main(string[] args)
{

FileStream Stream = new FileStream("D:\\f2.txt", FileMode.Open, FileAccess.Read);
FileStream Stream1 = new FileStream("D:\\g2.txt",FileMode.Op en, FileAccess.Read);
StreamReader r = new StreamReader(Stream);
StreamReader w = new StreamReader(Stream1);
string s;
string d;
while ((s = r.ReadLine()) != null && (d = w.ReadLine()) != null)
{
Console.WriteLine(s);
Console.WriteLine(d);

for (int i = 0; i < s.Length; i++)
{
while (s[i] != d[i])
{
Console.WriteLine(i);
}
}
Console.ReadLine();
}
Stream.Close();
Stream1.Close();

}
}
}
gvozdik12 вне форума Ответить с цитированием
Старый 18.04.2013, 20:25   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
while (s[i] != d[i])
{
Console.WriteLine(i);
}
Вот здесь происходит зацикливание и это логично. Вообще не понятно зачем вы его сюда впихнули. Достаточно простой проверки условия
Код:
for (int i = 0; i < s.Length; i++)
{
   if (s[i] != d[i])
   {
       Console.WriteLine(i+1);
       Break; 
   }
}
Ну и естественно надо осуществлять проверку выхода из диапазона, когда длина строки d меньше длины строки s.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Текстовые файлы zubber94 Помощь студентам 4 09.07.2012 14:33
Текстовые файлы SVing Паскаль, Turbo Pascal, PascalABC.NET 8 30.05.2012 14:19
Текстовые файлы Evacuator Помощь студентам 1 19.12.2010 14:56
Текстовые файлы (C++) -=DOBRO=- Помощь студентам 16 24.12.2009 22:34