Под-массив в Фортране
попробуй вместо DIMENSION MAP(1) использовать DIMENSION MAP(*)
Оно заработало. Может подскажешь, почему?
А вообще, вопрос нетривиальный: чтобы нормально ответить, наверное надо рюхать и сравнивать друг с другом стандарты Fortran IV, Fortran 77 и Fortran 90 :-)
Спасибо.
Оставить комментарий
Elina74
Приходится пользоваться некой прогой, написанной аж 1987 году.В ней определен массив
DIMENSION MAP(20000);
Вызывается функция
TRARA2(MAP(I1+3), А, В)
Где первый аргумент описан как
DIMENSION MAP(1)
Однако, из описания функции становится ясно, что в качестве аргумента хотели передать не один элемент массива, а под-массив, начинающийся с некоторого номера, к примеру там используются выражения типа
L2=MAP1(I2+1)
В результате прога доходя до строки, написанной выше, вылетает с ошибкой - выход индекса массива за границу.
Как попроще создать некий под-массив и передать его в качестве аргумента? В сишном аналоге используются указатели. Здесь они как-нибудь помогут?