![]() |
|
|
![]()
|
|
| Bibigonich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2010 Репутация: нет Всего: нет |
Привет, собственно вот что тревожит меня:
Дан файл f, компоненты которого являются действительными числами. как в программе найти количество этих элементов? Мне нужно число n,для дальнейшей работы программы, для циклов.. пробывал в файле 1ым элементом задать это количество, и его прочитать как n. Но преподаватель сказал что так незя, не правильно. так собственно как правильно сделать? слышал про "Также можно ловить конец файла и подсчитывать количество прочитанных чисел". но как это оформить? еще про оператор Len, но как с ним обращатсья тоже не понимаю, постоянно ошибки выдает помогите плизз Это сообщение отредактировал(а) Bibigonich - 4.7.2010, 16:47 |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
Так как раз в большинстве случаев правильно. Только, по-видимому, преподаватель хочет получить что-то другое.
У оператора read есть спецификатор end, позволяющий указать метку оператора, на который произойдет переход при достижении конца файла. В некоторых реализациях также есть функция eof(). |
|||
|
||||
| Bibigonich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2010 Репутация: нет Всего: нет |
ну а как заполучить n. Мне оно надо будет для продолжения.
Вот полное задание:Дан файл f, компоненты которого являются действительными числами. Найти при помощи подпрограммы общего вида А) сумму компонет файла Б) модуль суммы и квадрат произведения компонент файла Вот как оно у меня получилось, всё работает, ток надо по другому полуить значение n.
btw: Пишу на Фортране 77, компилятор Compaq Visual Fortran. Если важно Это сообщение отредактировал(а) Bibigonich - 4.7.2010, 16:51 |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
||||
|
||||
| Bibigonich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2010 Репутация: нет Всего: нет |
как это выглядеть то должно? |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
Бог мой... в цикле читаем по одному числу и каждый раз прибавляем к счетчику единицу. Когда файл кончится, в счетчике будет искомое количество.
P.S. Для определенности - Вы программировать умеете? Не конкретно на Фортране, а вообще? Это сообщение отредактировал(а) Фантом - 4.7.2010, 17:51 |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
-------------------- |
|||
|
||||
| FCM |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.3.2009 Репутация: 8 Всего: 9 |
Зачем писать на 77, если компилятор на 90/95? Как уже отмечалось выше, в некоторых диалектах Фортрана (в частности в Visual Fortran) есть функция EOF(). Может быть так (но на фортране 90):
См. также пример в описании функции EOF в системе помощи CVF. Это сообщение отредактировал(а) FCM - 5.7.2010, 15:08 |
||||
|
|||||
| Bibigonich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2010 Репутация: нет Всего: нет |
на 77, потому что в инсте преподают 77, и там же, на компах стоит этот компилятор. вот и все дела FCM, спасибо, помог. ПРишлось твой код поправить кое где, но в итоге пашет) спасибо. Поставил бы плюсик к репе, но увы, нету 100 постов(( Это сообщение отредактировал(а) Bibigonich - 5.7.2010, 19:16 |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Если помогли, пометь тему решённой в правом верхнем углу первого сообщения. Это не проблема. -------------------- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Fortran | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |