2012-03-22 6 views
-1

私は以下のコードを実行しましたが、わかりません。それは何をするためのものか?これらのFortran(90)ステートメントは何をしますか?

A(*) 

do n=(k,k-1,j+1-k) 
+0

私はFortranを舐めることは知らないし、2行目のコードの最初の推測は正しい(ヒント:ループ)。最初はもっと文脈が必要です。実際にドキュメントを見てみましたか?ありがとうございます。 –

答えて

3

A(*)は、「想定サイズの配列」の宣言のように見えます。これの典型的な使用は、プロシージャーへの仮引数の宣言にあります。想定サイズと '自動'配列を注意深く区別します。想定されるサイズの配列は、現代のFortranでは非推奨ですが、FORTRAN77以前のバージョンでは一般的です。

do n=(k,k-1,j+1-k)は、構文的に不正なループ文のようです。正しいフォームはdo n=k,k-1,j+1-kで、の範囲でループし、サイズはj+1-kのストライドになります。

+0

forループが必要な場合は、初期化、条件、インクリメント/デクリメントのどちらの部分ですか? – liza5757

+0

ご迷惑をおかけして申し訳ありません。基本的に私はFortran 90からc/C++にガウスアルゴリズムを変換する必要があります。 REAL :: A(*)-------- ??? ..... DO 30 K = K1 + IM、NNR、IM ---- ....... – liza5757

+1

これらはどちらもFortran 77ですが、これは非常に基本的なものであり、それらをよく知っていなければなりません。もっと微妙なことに遭遇するかもしれません。 –

関連する問題