|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2012, 08:49 | #1 |
Новичок
Джуниор
Регистрация: 09.11.2012
Сообщений: 2
|
Разница между двумя идентичными программами
Объясните разницу между двумя абсолютно идентичными программами.
Программа 1, в текстовом файле где записаны 10 слов, нужно поменять 1 , 6, K-тый и последнее слово. Программа 2, в текстовом файле где записаны 10 чисел, нужно поменять 1, 5, K-тый и последнее число. Обе программа работают, но в 21 строке 1 программы я пишу while (j<i), а в 19 строке 2 программы while (j<i-1). Почему??? P.S. Я написал эти программы методом тыка, не понимая почему приходится в одном случае писать while (j<i), а в другом while (j<i-1). Объясните причину пожалуйста? //////////////////////////////////////////////////////////////////////////////////////////////////////////// Код:
Код:
Последний раз редактировалось Stilet; 09.11.2012 в 12:11. |
09.11.2012, 09:13 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
А не пробовали во второй программе написать так же как в первой: while j<i?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
09.11.2012, 09:32 | #3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Потому, что цикл while (f >> a[i++]); это цикл с предусловием. Тоесть, если даже файл пустой, то цикл выполнится хотя-бы один раз и значение i будет иметь значение на единицу больше, чем количество элементов находящихся в этом файле.
Если Вы хотите иметь точное значение элементов, используйте цикл с постусловием - do{}while(...);
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
09.11.2012, 10:37 | #4 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск маршрутов между двумя городами между n городов | DorianMark | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 09.11.2011 00:46 |
Разница между двумя время | xxbesoxx | БД в Delphi | 2 | 15.08.2011 23:11 |
Разница между двумя датами (целые дни) | Droid | Общие вопросы Delphi | 15 | 03.11.2009 23:36 |
Разница между двумя datetimepicker | Droid | Общие вопросы Delphi | 3 | 24.09.2009 23:20 |
Разница между двумя Bitmap | Seqular | Общие вопросы .NET | 2 | 25.04.2009 17:31 |