Re: [Fortran] Как вытащить результаты?
500 столбцов довольно неудобно на фортране выводить...
Покажи, как сейчас делаешь.
Покажи, как сейчас делаешь.
open(12,file='Data.dat', access='sequential')
do i=1, N
do s=1, M
write(12,10) U(i,s)
end do
end do
10 format (F10.7 )
close(12)
do i=1, N
do s=1, M
write(12,10) U(i,s)
end do
end do
10 format (F10.7 )
close(12)
Попробуй поменять так:
open(12,file='Data.dat', access='sequential')
write(12,10) U
10 format (500F10.7 )
close(12)
Прошу прощения, я всё-таки не знаю вариантов, как в фортране записать 500 столбцов, не передавая оператору write 500 аргументов.
Скорее всего на C написал бы процедуру для этого, и вызывал бы её из фортрана.
Скорее всего на C написал бы процедуру для этого, и вызывал бы её из фортрана.
так вобще не компилирует
А ты колоры удалил?
Еще я F потерял - изменил пример - попробуй.
п.с.: и почему в режиме код нельзя цветовую раскраску делать - неудобно это
Еще я F потерял - изменил пример - попробуй.
п.с.: и почему в режиме код нельзя цветовую раскраску делать - неудобно это

Вот эта строчка передает принту весь массив сразу (250000 эл-тов в данном примере):
Если порядок вывода не устраивает, принту можно передать соотв перечисление или сечение
write(12,10) U, который соответственно оператору формат:
10 format (500F10.7 )выводится по 500 в каждой строке.
Если порядок вывода не устраивает, принту можно передать соотв перечисление или сечение

все в один столбец пишет
Поменяй в
Изменения есть?
10 format (500F10.7 )500 на 5.
Изменения есть?
Сорри, я попутал, все работает. Спасибо!
На здоровье
А вообще в хелпах по оператору format и по массивам много интересного есть
Кстати, уверен, что у тебя все числа впишутся в f10.7?
А вообще в хелпах по оператору format и по массивам много интересного есть
Кстати, уверен, что у тебя все числа впишутся в f10.7?
нет, не уверен. А как изменить расстояние между столбцами, а то числа большие получаются, друг другу мешают.
А как изменить расстояние между столбцами, а то числа большие получаются, друг другу мешают.В смысле? Пример приведи.
Можно попробовать заменить на f20.10

Пример? Ну типа число занимает сколько-то позиций, а расстояние между столбцами меньше, вот они и перекрываться начинают
F20.10 то, что надо! Спасибо! Только вот что-то я не понимаю. Вроде это означает, что число состоит из 20 символов и из них 10 после запятой, так?
F20.10 то, что надо! Спасибо! Только вот что-то я не понимаю. Вроде это означает, что число состоит из 20 символов и из них 10 после запятой, так?
Они не должны перекрываться! Если число превышает формат - выдаются звездочки.

из 20 символов и из них 10 после запятойДа.
F20.10 то, что надоТолько вот если числа маленькие - просветы между столбцами будут большие

Когда я написал, что они перекрываются, я и имел в виду эти звездочки. Все, вроде разобрался, нашел для себя оптимальный вариант : F4.2
Спасибо!
Спасибо!Можно сначала анализировать массив на максимальный по модулю элемент, а потом на основании этого делать шаблон.
Но если F4.2 всегда подходит - можно и не заморачиваться...
Но если F4.2 всегда подходит - можно и не заморачиваться...
> write(12,10) U
а что думает фортран 77 по поводу такой семантики? g77 например?
а что думает фортран 77 по поводу такой семантики? g77 например?
а что думает фортран 77 по поводу такой семантикиИ кому это интересно?
Мб рассмотрим что-нибудь еще более древнее?
Я работаю с CVF 6.6 и IF 8.1 и использую все нужные мне возможности из них.
Не вижу смысла ограничивать себя старыми стандартами
Мне тут приходилось разбираться в прогах, "оптимизированных" под БЭСМ-6 - нафиг такое счастье

> И кому это интересно?
> Мб рассмотрим что-нибудь еще более древнее?
Свободная реализация чего-то отличного от F77 только-только появилась (в GCC4). Надо смотреть. А пока её не было, писать что-либо серьёзное на F90/95 для меня было не практично.
> Мб рассмотрим что-нибудь еще более древнее?
Свободная реализация чего-то отличного от F77 только-только появилась (в GCC4). Надо смотреть. А пока её не было, писать что-либо серьёзное на F90/95 для меня было не практично.
Оставить комментарий
nikkadim
Как записать в файл огромную матрицу, скажем 500 на 500? И чтобы она была именно матрицей со строками и столбцами. Как не пытаюсь, он всю её пишет в один столбец