![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Akella |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
Короче задание такое: Создать файл, заполненный целочисленными яислами в диапозоне [-100;100]. Удалить из файла все положительные числа!
У меня короче получаеться вот что: ввожу например 5, т.е. это генирируется 5 чисел. И получается что действие происходит только над четными элементами файла(начиная с 0-го). Например есть числа -10 -11 10 10 -15, то в результате останеться -10 и -15, а -11 куда-то пропадает... помогите... что я только не перепробывал сделать - не получается! program _7_14; |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Мне кажется,тут лучше использовать тип text.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата И получается что действие происходит только над четными элементами файла(начиная с 0-го) Угу... А почему - сам виноват:while not eof(f) do begin (ты уже прочел число из файла, значит указатель передвинулся на следующий элемент автоматически. Зачем ты передвигаешь его еще дальше? Ну, и потом... Тебе надо не напечатать все числа, кроме положительных, а удалить положительные из файла. Этого ты даже не пытаешься сделать... А нужно для этого всего навсего завести еще одну переменную LastNeg, которая будет хранить смещение последнего правильного НЕположительного числа в файле. Идешь дальше, как только встретил очередное отрицательное - записал его на эту, сохраненную позицию и увеличил ее на 1... А в самом конце - Truncate(LastNeg), чтобы отсечь все лишнее) Кстати, у тебя файл не закрывается... Предпоследнего End-а не должно быть... Добавлено через 1 мин. Цитата Мне кажется,тут лучше использовать тип text. С чего бы? Чтоб места занимал больше? Или потому что кто-то не умеет работать с ДРУГИМИ файлами? Мне вот вообще кажется, что на другом языке эта задача решается проще, и что? Это не повод советовать автору писать не на Паскале... |
Akella |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Смотри:
{ ... заполнил файл ... } |
Akella |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
огромное спасибо, все понятно мне разжевали....
|
Akella |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
а как мне посчитать конечную сумму получившихся цифр по аски таблице, при этом мне надо открыть файл как нетипизированный.....?
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Каких цифр? У тебя нет никаких цифр, у тебя есть числа, представленные НЕ текстом, а двоичным кодом (машинное представление). Что именно тебе надо посчитать?
|
Akella |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
мне надо посчитать сумму кодов, которыми зашифрованы числа...
начинаться должно как-то так ( это продолжение этой проги) close(f); у меня 1-й вопрос: какими типами должны быть переменные? (buf,bufsize) ВОТ! Нашел как звучит задание! Найти конечную сумму полученного файла, открыв его как нетипизированный! p.s. открой аську плиз=) Сообщение отредактировано: Akella - 2.12.2008 12:25 |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Повторяю: числа не зашифрованы ничем. Это просто последовательность бит. К примеру, число 25 представлено так: 0000000000011001, а число 126 - так: 0000000001111110. Так что, говоришь, найти-то надо?
Сообщение отредактировано: volvo - 2.12.2008 12:30 |
Akella |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
ВОТ задание так в карточки написано:
Найти конечную сумму полученного файла, открыв его как нетипизированный! |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
От тебя, как видно, хотят, чтобы ты научился работать с нетипизированными файлами, зная, что именно там находится... Тогда примерно так:
var(можешь добавить еще проверку ошибок, для этого у BlockRead есть четвертый параметр) |
Akella |
![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
я так делал, но у меня ошибка 200... что это такое?
вот готовая прога, все работает... спасибо Volvo program _7_14; Сообщение отредактировано: Akella - 2.12.2008 12:56 |
Ozzя |
![]()
Сообщение
#14
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Help (Ctrl + F1) по слову blockread Вам окажет неоценимую помощь.
Добавлено через 3 мин. Обнови tpl'ки - http://pascal.sources.ru/misc/bp7_tpl.htm |
Akella |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите сделать похожую задачу, все тоже самое только условие другое: удалить из файла повторяющиеся включения одного и того же числа (массивы нельзя!) ...
мне бы токо условие, 3 часа бьюсь, только паскаль зависает, толку нету=)) |
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Цитата 3 часа бьюсь, только паскаль зависает Значит, что-то начал делать? Можно посмотреть, как именно ты начал решать задачу? |
Akella |
![]()
Сообщение
#17
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
прога зависала из-за условия, потому что оно зацикливалось, поэтому я его удалил, а все остальное как в проге выше!
|
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Akella, смотри как это делается:
var Но больше на твои вопросы отвечать не буду, до тех пор, пока сам не будешь хотя бы пытаться что-то решить, и показывать результаты своих попыток. Сказать, что ты пытался, но ничего не получилось - очень просто, правда? Но это не проходит больше одного раза... Сообщение отредактировано: volvo - 16.12.2008 16:41 |
Akella |
![]()
Сообщение
#19
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо, но мне чуток по другому надо, повторяющиеся цифры вообще не должны потом выводиться=)
|
Akella |
![]()
Сообщение
#20
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите, что я не правильно написал?
![]() 0.123 0.123 .123 0.123 на позицию 1(считая с нуля) поставим число 1.234 - получим: 0.123. 1.234 0.123 0.123 0.123 program _7_1; |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:20 |