2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 fortan90 I/O
Сообщение22.03.2011, 06:58 
Привет,

я пытаюсь записывать массивы из файла. Файл устроен таким образом:
1 1 1
2 2 2
3 3 3
например, я хочу три одинаковых массива a=b=c=(1,2,3). Если читать в тупую, то результат будет:
a = 1,1,1; b=2,2,2; c=3,3,3
это можно решить другой организацией файла, просто транспонировать его. Но может есть более удобный способ?

Другой вопрос заключается в том как заполнить allocatable массивы, когда наперед не известен размер строки/столбца.
я думаю, что можно ввести в самом начале файла параметр, который содержит информацию о кол-ве строк/столбцов. Тогда модно считать его и сделать аллокацию. Но тогда в массивы нужно записывать со второй строки. Может кто знает как работать избирательно со строками в файле? может можно начинать чтение с произвольной строки или в указаном порядке, удалять строки?

Я просто не могу найти детального описания i/o фортрана, посоветуйте где можно прочитать?

 
 
 
 
Сообщение22.03.2011, 10:12 
sithif в сообщении #426031 писал(а):
Я просто не могу найти детального описания i/o фортрана, посоветуйте где можно прочитать?
http://fortranwiki.org/fortran/show/HomePage

sithif в сообщении #426031 писал(а):
Но может есть более удобный способ?

Используется синтаксис Fortran
DOUBLE PRECISION, ALLOCATABLE :: a(:,:)
ALLOCATE(a(3,3))
OPEN(10,filename)
DO i=1,3
   READ(10,*) a(1,i),a(2,i),a(3,i)
END DO
 

 
 
 
 
Сообщение22.03.2011, 17:53 
Спасибо!

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group