Несколько операторов в одной строке в FORTRAN 90 - PullRequest
5 голосов
/ 04 августа 2011

У меня есть целый ряд заданий, которые я положил на один и тот же ик, используя «;» отделить statemnts, но я получаю эту ошибку:

1,0; фунтов (1,9) 1 Ошибка: Неклассифицируемый оператор в (1) В файле LJ.F90: 223

Я не понимаю, откуда это происходит, когда у меня работает код, если каждый оператор находится в отдельной строке. Код действительно прост ...

Что я тупо делаю неправильно ... код ниже в одной строке.

lb(1,1) = 1.0; lb(1,2) = 1.0; lb(1,3) = 1.0; lb(1,4) = 1.0; lb(1,5) = 1.0; lb(1,6) = 1.0; lb(1,7) = 1.0; lb(1,8) = 1.0; lb(1,9) = 1.0

Ответы [ 2 ]

8 голосов
/ 04 августа 2011

Добавляя к комментариям @Deditos, в этом случае вы можете использовать нотацию массива Fortran, чтобы уменьшить количество строк, поскольку все элементы установлены на одно и то же значение:

lb (1, 1:9) = 1.0

Все ли элементы массива инициализируются в 1.0? Тогда просто:

lb = 1.0
8 голосов
/ 04 августа 2011

Длина вашей строки кода составляет 134 символа, и даже с кодом свободного формата в стиле Fortran 90 большинство компиляторов устанавливают максимальную длину строки.Например, в Sun Studio предел по умолчанию составляет 132 символа.

Обычно этот предел можно увеличить, используя флаги компилятора, но я предлагаю разделить этот код так, чтобы в каждой строке был один оператор.Он более читабелен для читателей, а сообщения об ошибках во время компиляции и выполнения могут быть легче диагностированы.

...