![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
D1ma |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Задание:
Дан файл f, компоненты которого являются действительные числами.Найти наибольшее из значений компонент с нечетными номерами. Вот мой код, подкаректируйте что не так делаю.. ) Код program pr; uses crt; var f:file of integer; a,b,max:integer; begin clrscr; assign(f,'C:/laba'); rewrite(f); writeln('Vvedite Chisla:'); readln(a); while A>=0 do begin write(f,a); read(a); end; reset(f); max:=0; while not eof(f) do begin read(f,a); if (b mod 2>0) then if b>max then max:=b; end; writeln('Max=',max); End. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата подкаректируйте что не так делаю.. ) Во-первых, работаешь с целыми числами вместо вещественных. А во-вторых, то, что ты делаешь во второй части программы вообще не поддается описанию. Тебе достаточно вот этого:reset(f); |
bura |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Строка:
не совсем корректная, т.к. последнее записанное в файл число может быть и отрицательным. |
amega |
![]()
Сообщение
#4
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
тогда
reset(f); Сообщение отредактировано: amega - 9.03.2009 22:44 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата т.к. последнее записанное в файл число может быть и отрицательным. Казалось бы, при чем последнее? Если хоть одна из нечетных компонент будет положительной - код абсолютно корректен. Если все нечетные компоненты отрицательные - надо менять 0 на минимально допустимое вещественное значение.Добавлено через 3 мин. amega, тебе привести пример содержимого файла, для которого это не отработает, или сам попытаешься подумать? |
amega |
![]()
Сообщение
#6
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
не не нада я и так вижу просто написал чтобы человек успокоился)
Сообщение отредактировано: amega - 9.03.2009 22:49 |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Больше ПРОСТО так не пиши ничего... Договорились?
|
amega |
![]()
Сообщение
#8
|
![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: ![]() ![]() ![]() |
ага
![]() |
bura |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Все-таки есть вероятность, что при заполнении файла первым введенным пользователем числом будет отрицательное число. Тогда файл будет содержать всего одно число, и программа даст ответ, что максимальное с нечетным номером число равно 0.
Тогда лучше сделать так:
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата Все-таки есть вероятность, что при заполнении файла первым введенным пользователем числом будет отрицательное число. В таком случае файл не будет содержать ни одного числа, он будет пустым, и твой вариант тоже выдаст тот же ответ: максимальное число = 0.Смотри внимательно: ни одно отрицательное число в файл записано не будет, поскольку запись происходит внутри цикла While a >= 0, поэтому все, начиная с третьего поста, не имеет шансов сбыться... |
bura |
![]()
Сообщение
#11
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Извиняюсь, был невнимателен.
Не заметил эти строчки: Код writeln('Vvedite Chisla:'); readln(a); while A>=0 do begin |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 5:36 |