
FORTRAN77 のプログラムをpython化しています。
pythonは分かるので、FORTRANの方で質問させてください。
元のプログラムで
SUBROUTINE CCC(L,R,MA,RE,REEXP)
REAL MA
FA = (REC/RE)**REEXP
の徐算数で(pythonで)エラーがでます。REが配列になっていて除算できないためです。
上記CCCの呼び出し元は
SUBROUTINE TTT(N,C,RE)
REAL C(N)
REAL RE(N)
CALL CCC(L(I),R,MA,RE,REEXP(I))
その呼び出し元は main(FORTRANでどう呼ぶのか分かりませんが)となり以下です。
REAL C(10)
REAL RE(10)
N=2
C(1)=0.1
C(2)=0.4
DO I = 1,N
RE(I)=5
ENDDO
CALL TTT(N,C,RE)
結局REは、
mainからTTTを呼ぶときに配列
TTTからCCCを呼ぶときも配列
と思われるのですが、FORTRANでコンパイルするときちんと動きます。
そして、元のFORTRANはかなり信用できるプログラムです。
元のFORTRANは、この配列のあ使いや割り算をどのように行っているのでしょうか?
No.2ベストアンサー
- 回答日時:
この例のように、仮引数が配列でない単純変数で、実引数が配列の場合に、仮引数は渡された配列の先頭要素を参照します。
しっくりくる解答をありがとうございます。
CCCではREが定義されていないので、実数、TTTではあえて配列と定義されているので、配列ということで理解しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
Visual Basic 6.0 と8.0と2015
-
配列を返り値、でエラー
-
9枚の写真がA4 1枚に印刷できま...
-
配列で格納したものをmsgboxで...
-
【速いブラインドタッチ】手を...
-
RGB値を画像(PNG・BMPJPEGなど)...
-
C言語において、 配列要素をひ...
-
C++で、メンバもヒープに確保さ...
-
ポインタに ~0を入れること
-
x64環境で連続4GB以上のメモリ...
-
vbでDataTableの抽出コピー
-
VBを2008を用いてCSVを取り込む...
-
PHP MySQL自動連番で削除された...
-
aspでユーザー定義の構造体を作...
-
c言語
-
_tcscpy_s(wcscpy_s)の第二引数...
-
関数のパラメタ(C++)
-
関数から配列を返すには?
-
CopyMemory()をmemcpy()に書き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
C# Listを使わずに2次元配列の...
-
配列を含む構造体の初期値について
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
【速いブラインドタッチ】手を...
-
テキストファイルから文字列を...
-
ExcelVBAで質問です。離れた二...
-
配列をEraseしてもメモリが開放...
-
メモリの初期値
-
複数の選択範囲の行番号を個別...
-
unsigned char配列への入力の仕方
-
【C言語】配列の中に配列を入れ...
-
VBで構造体の配列を関数に渡す...
-
エラ-メッセ-ジの意味を教え...
-
C# 配列の変数宣言について。
-
C言語 配列の再初期化
-
LGノートPCグラムについて
-
C言語初心者 構造体 課題について
おすすめ情報