Fortran-ANSYS

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Fortran-ANSYS

Сообщение alleonid » 05.10.2005 (Ср) 4:24

Уважаемые коллеги!
Работаю в языке ANSYS APDL
Хочу все исходные параметры своей задачи задавать в отдельном текстовом файле.
1) Например, имеется некоторый массив "А", скажем, размером 3х3.
Пусть для определенности
А(1,1)=2,563; А(1,2)=7,369; А(1,3)=8,2;
А(2,1)=7,15; А(2,2)=0,1245; А(2,3)=14,89;
А(3,1)=9; А(3,2)=17,1; А(3,3)=158
Было бы удобно, если бы в создаваемом мною текстовом файле я вводил значения массива по следующей схеме:
2.563<пробел>7.369<пробел>8.2
7.15<пробел>0.1245<пробел>14.89
9<пробел>17.1<пробел>158
Изучаю команду *VREAD и сталкиваюсь с тем, что в Фортране называется спецификацией формата или форматным кодом. Получается, что количество символов в каждом числе должно быть фиксированным. Но я не могу заранее предусмотреть сколько позиций будет отведено под конкретное число и его десятичную часть. То есть, я хочу не задумываясь вводить числа типа 2.563 или 9, отделяя их пробелами и переносами и чтобы программа это все нормально переваривала.
То есть я, как человек, избалованный VB с его variant , и не всегда вспоминающий об объявлении вообще, начинаю испытывать ужас перед Fortran-ом и его типами данных.
Подскажите мне, пожалуйста, можно ли записать команду *VREAD для такого "произвольного" случая как в моем примере.
(Fname = Fname, Ext = txt)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.10.2005 (Ср) 9:11

Может быть тебе стоит задать этот вопрос на форуме, посвященном фортрану?
Lasciate ogni speranza, voi ch'entrate.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 07.10.2005 (Пт) 9:43

А что там сложного, с Фортраном-то? Фортран действительно ограничивает ввод/вывод своими спецификациями, но они легко эмулируются.

Если читаешь текст из Фортрана, то используй Split(введеннаястрока," ") для вновь введенной строки из файла. Получившийся массив поэлементно копируй в массив из Single ( float или real*4 ) или Double ( double или real*8 ).

Если пишешь текст для Фортрана, то формируй поэлементно через Format или FormatNumber, указав нужные значения количества цифр до и после запятой, нужные строки и выводи в файл. Но AFAIR сейчас Фортран позволяет вводить произвольные данные, все-таки это нелепое, оставшееся от перфокарт, требование. Попробуй, скорми текст без заморочек с цифрами. Если же не пройдет, то, уж будь любезен, соответствуй.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList