IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> перечисляем строки в массив
doorway
сообщение 15.09.2010 19:53
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


есть задачка, большая, но я забыл как перечислить нормально строки текстового файла в массив. и большая стала маленькой пока.
входной файл имеет вид
1
2
3
..
10
Все работает, но в выходном файле 0.


program var2;

var

mass:array[1..10] of integer;

inp, out:text;

i:integer;

begin

assign(inp,'inpu.inp');

assign(out,'outpu.out');

reset(inp);

for i:=1 to 10 do

begin

readln(inp,mass[i]);

end;

rewrite(out);

write(out,mass[2]);

close(out);

close(inp);

end.


Помогите ошибку найти.

Сообщение отредактировано: doorway - 15.09.2010 19:54
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 17.09.2010 2:33
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Дело явно во входном файле, что-то с ним не так. Ясно, что в процессе чтения не происходит переход на следующую строку. То есть ReadLn не находит признака конца строки.

Тот файл, что ты прикрепил выше, имеет явно не Windows/DOS формат - в нем концы строк обозначены не двумя символами CR+LF ($0D+$0A), как это принято у MS, а одним LF ($0A), как в Unix. У меня тут нету TP, чтобы проверить его реакцию на такое безобразие.

В чем ты создаешь входной файл? Создай его в обычном Блокноте. Если у тебя продвинутый редактор, то посмотри, не стоит ли там где-нить опция записи в формате Unix. На всякий случай я прикрепляю нормальный (виндусовый) файл. Признаком "нормальной виндусовости", кстати, может служить длина файла. Она должна быть по крайней мере 29 байт. Присланный тобой файл содержит 21 байт.

Прикрепленный файл  in_data.txt ( 29 байт ) Кол-во скачиваний: 339


С названиями переменных и файлов тоже, конечно, желательно быть осторожнее. В этом примере все на самом деле чисто, но лучше избегать всяких in и out и т.п. Береженого Бог бережет.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
doorway
сообщение 17.09.2010 6:25
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


Цитата(Lapp @ 17.09.2010 3:33) *

Дело явно во входном файле, что-то с ним не так. Ясно, что в процессе чтения не происходит переход на следующую строку. То есть ReadLn не находит признака конца строки.

Тот файл, что ты прикрепил выше, имеет явно не Windows/DOS формат - в нем концы строк обозначены не двумя символами CR+LF ($0D+$0A), как это принято у MS, а одним LF ($0A), как в Unix. У меня тут нету TP, чтобы проверить его реакцию на такое безобразие.

В чем ты создаешь входной файл? Создай его в обычном Блокноте. Если у тебя продвинутый редактор, то посмотри, не стоит ли там где-нить опция записи в формате Unix. На всякий случай я прикрепляю нормальный (виндусовый) файл. Признаком "нормальной виндусовости", кстати, может служить длина файла. Она должна быть по крайней мере 29 байт. Присланный тобой файл содержит 21 байт.

Прикрепленный файл  in_data.txt ( 29 байт ) Кол-во скачиваний: 339


С названиями переменных и файлов тоже, конечно, желательно быть осторожнее. В этом примере все на самом деле чисто, но лучше избегать всяких in и out и т.п. Береженого Бог бережет.. smile.gif


хаха, точно, во я дурачок. спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
doorway   перечисляем строки в массив   15.09.2010 19:53
Unconnected   "Иди туда, не знаю куда"? В чём задание ...   15.09.2010 19:58
doorway   "Иди туда, не знаю куда"? В чём задание...   15.09.2010 20:02
Unconnected   Попробуй изменить имя переменной out (например, f2...   15.09.2010 20:12
doorway   Попробуй изменить имя переменной out (например, f...   15.09.2010 20:21
Rian   код с поправками в фпц создал выходной файл с 2 то...   15.09.2010 22:15
doorway   код с поправками в фпц создал выходной файл с 2 т...   15.09.2010 22:25
Rian   а как ты данные в текстовый файл вносишь? плз выло...   15.09.2010 22:29
doorway   а как ты данные в текстовый файл вносишь? плз выл...   15.09.2010 22:30
Rian   а эти строки у програме так и остались? assign(in...   15.09.2010 22:34
doorway   а эти строки у програме так и остались? assign(i...   15.09.2010 22:50
Rian   а массив на экран вывести?   15.09.2010 22:52
doorway   а массив на экран вывести? нули рисует   15.09.2010 23:32
Unconnected   Это значит, что массив в цикле заполняется некорре...   15.09.2010 23:41
doorway   Это значит, что массив в цикле заполняется некорр...   16.09.2010 0:02
Rian   1)турбо паскаль 7.1 2) первая единица, а потом ну...   16.09.2010 11:47
volvo   Выбрось. Установи нормальный TP 7.0, и наслаждайся...   16.09.2010 11:48
doorway   Выбрось. Установи нормальный TP 7.0, и наслаждайс...   16.09.2010 13:53
Rian   гм :blink: .... фпц? ЗЫ а у тебя не виста?   16.09.2010 15:03
doorway   гм :blink: .... фпц? ЗЫ а у тебя не виста? нет,...   16.09.2010 15:34
volvo   В таком случае тебе уже ничего не поможет. Если на...   16.09.2010 15:36
doorway   В таком случае тебе уже ничего не поможет. Если н...   16.09.2010 23:33
Freedom   попробовал на 7.0 - та же фигня. первая едини ца ...   16.09.2010 15:49
Lapp   Дело явно во входном файле, что-то с ним не так. ...   17.09.2010 2:33
doorway   Дело явно во входном файле, что-то с ним не так. ...   17.09.2010 6:25


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"