Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Fortran > [General] передача массива


Автор: chipon 21.9.2009, 18:49
Как передать двумерный массив из одной подпрограммы в другую?

Автор: FCM 22.9.2009, 16:06
На фортране 77 возможно так (а лучше (точнее на порядок лучше) перейти на современный фортран-90/95/03)

Код

      PROGRAM A2P
      IMPLICIT NONE
      INTEGER R, C, I, J
      PARAMETER (R=2,C=3)
      INTEGER A(R,C)
      DO I = 1,R
        DO J = 1,C
          A(I,J) = 10*I+J
        END DO
      END DO
      CALL SHOW(A,R,C)
      END


Код

      SUBROUTINE SHOW(ARRAY, ROWS, COLS)
      IMPLICIT NONE
      INTEGER I, J, ROWS, COLS, ARRAY(ROWS, COLS)
      DO I = 1, ROWS
         WRITE(*,*) (ARRAY(I,J), J = 1, COLS)
      END DO
      END

Автор: chipon 22.9.2009, 19:13
привет! а ты не знаешь как передать массив, если главный программный модуль зашит, а дописывать свою математику можно через SUBROUTINE программы, в данном случае используются з подпрограммы. и вроде все эти подпрограммы компилируются с главной , но на выходе результат 0.Почему? может знаешь?

Автор: FCM 22.9.2009, 19:47
Слишком все неопределенно. 
Что такое главный программный модуль? Если что-то недоступно в исходниках, но предполагается для внешнего использования, то должно быть как-то задокументировано. Иначе откуда пользователям знать как оформлять подпрограммы.

PS/ Где-то был такой вопрос и касался он какого-то ПО из Сарова.

Автор: chipon 22.9.2009, 20:21
есть программа которая моделирует газодинамические процессы.в этой программе вся математика описана фортраном и зашита разработчиками, , а могу я сделать это через подпрограммы, которые предаставляет разработчик, вот в этих подпрограммах мне нужно передать массивы, в них уже есть переменные мне нужно правильно написать алгоритм передачи массива

Автор: FCM 23.9.2009, 09:35
Цитата(chipon @  22.9.2009,  20:21 Найти цитируемый пост)
вот в этих подпрограммах мне нужно передать массивы, в них уже есть переменные мне нужно правильно написать алгоритм передачи массива 


Как выглядит интерфейс (объявление) подпрограммы и ее фрагмент, где предполагается задавать массив?

Автор: chipon 25.9.2009, 15:46
давай я тебе на майл отправлю, а ты посмотришь,если время будет.
ps (работаю с программой не долго,а с программированием столкнулся 1раз.......)  smile 

Автор: FCM 25.9.2009, 18:14
Отправляй (в профиле есть опция), посмотрю на досуге

Автор: chipon 25.9.2009, 19:15
напиши e-mail, через профиль не передает!

Автор: FCM 25.9.2009, 20:14
Проверь свою почту. Я через профиль послал тебе email

Автор: chipon 25.9.2009, 21:35
отправил лови

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)