![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Светлана |
![]() ![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
Здравствуйте! У меня тут такая задачка: "Заполнить файл последовательного доступа f целыми чмслами, полученными с помощью генератора случайных чисел. Из файла f получить файл q, исключив повторные вхождения чисел. Вывести файл q на печать."
Вот мой вариант... но у меня ошибка высвечивается... Помогите пож-та подкорректировать.
|
ammaximus |
![]()
Сообщение
#2
|
![]() Ночной волк ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вылетаешь за рамки массива. Попробуй так
Цитата if (a[i]<>a[i+1]) and (i+1<=n) then writeln(q,a[i]); ![]() Сообщение отредактировано: ammaximus - 22.12.2006 0:35 -------------------- Не думай о белой обезьяне.
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Вылетаешь за рамки массива. При твоем способе будет то же самое - надо поменять условия местами, чтобы не было Range Check-а...А если стоит директива {$B+}, или "Complete Boolean Eval" в настройках - то этот вариант вообще не сработает... |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
вот так компилируется, но работает неправильно.
Program FAIL5; (ты ошиблась с границами цикла) почему не стала исправлять ошибки: не поняла, какой алгоритм используется. как ты проверяешь, что число не повторяется? readln(f,i); то есть, допустим, первое число в f равно 7 если а[7]<>a[8], то записываем a[7] в q разве это то, что от нас требовалось в задаче? а если в f записано 99, то будем пытаться сравнить a[99] и а[100] (ты знаешь, что у тебя там находится? я бы не рискнула строить прогнозы) -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Светлана |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
|
Светлана |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
|
мисс_граффити |
![]()
Сообщение
#7
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Сорри, это у меня настройки компилятора.
Тебе он, видимо, и не дает возможность прогнозирования ![]() Вопросы такие: 1) если у нас был файл 1 2 2 3 4 3 5 должны получить 1 2 3 4 5 или 1 4 5 (то есть оставлять ли единственное вхождение повторных)? 2) как хочешь - с увеличением затрат по времени (работа чисто с файлами) или по памяти (с массивом)? по-моему, заданию больше соответствует первый случай... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Светлана |
![]()
Сообщение
#8
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
Вопросы такие: 1) если у нас был файл 1 2 2 3 4 3 5 должны получить 1 2 3 4 5 или 1 4 5 (то есть оставлять ли единственное вхождение повторных)? 2) как хочешь - с увеличением затрат по времени (работа чисто с файлами) или по памяти (с массивом)? по-моему, заданию больше соответствует первый случай... 1) Нет, надо, чтобы из файла f получился файл q, в котором будут ИСКЛЮЧЕНЫ повторные вхождения, т.е. надо, чтобы получилось 1 4 5. 2) думаю, что желательно, чтобы работа чисто с файлами... то есть с увеличением затрат по времени... Пасибо заранее!... |
мисс_граффити |
![]()
Сообщение
#9
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
условно работает...
но ооочень медленно. с кучей ненужных переводов из строки в число и обратно. program povtory; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(мисс_граффити @ 22.12.2006 15:19) с кучей ненужных переводов из строки в число и обратно. А зачем эти переводы, если из текстового файла (тем более такого, в котором информация записана в отдельных строках) можно читать сразу в число?Вот полный аналог твоей программы: program povtory; |
Светлана |
![]()
Сообщение
#11
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
value - то значение, которое будет проверяться на повторное вхождение
curr - это считываемые после него по порядку из файла значения (которые сравниваются с value), от current - текущий ... Ну, а fl - потому и boolean, что это есть флаг, показывающий, является ли значение value в файле одиночным (fl = true), или оно дублируется (тогда fl = false)... |
Светлана |
![]()
Сообщение
#13
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
Вот полный аналог твоей программы: program povtory; (Я поставила точку... не знаю, правильно ли... но у меня выводятся значения в файле file.in , а в файле file.out никаких значений нет...) |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
![]() Теперь смотри, почему это происходит: файл File.in создавался, и ПЕРЕоткрывался, то есть, он гарантированно записан на диск, возможно НЕ последняя версия, но какая-то есть... А файл File.out закрывается ПОСЛЕ той точки, которую ты поставила, следовательно, буфер на диск НЕ записывается, и все данные потеряны... Вот так то... |
Светлана |
![]()
Сообщение
#15
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
Хорошо! Сейчас проверю! Спасибо,я поняла свою ошибку!!!!
|
Светлана |
![]()
Сообщение
#16
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
program povtory; А так все правильно скопировала. Но file.out не выдает значения... |
мисс_граффити |
![]()
Сообщение
#17
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Что-то ты не то и не оттуда скопировала.
Возьми программку из сообщения 10. Она работает... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Я присоединил файл в аттаче - ты опять в неправильном месте поставила Begin... Неужели НАСТОЛЬКО сложно скопировать?
![]() Сохранить файл разберешься, как? Прикрепленные файлы ![]() |
Светлана |
![]()
Сообщение
#19
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 60 Пол: Женский Реальное имя: Света Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 16:31 |