fortran90

    0

    1答えて

    C++からFortranサブルーチンを呼び出しようとしています。リファレンスとして、私はFortranで同じサブルーチンを呼び出すテストプログラムを用意しています。これはプロシージャの正しい値を与えます。私はFortranの知識が非常に限られているので、なぜゴミ値を取得するのか分かりません。次のように Fortranコードは次のとおり program test_9j implicit

    0

    1答えて

    簡単なテストルーチンでは、私は現在Fortran90で書いていますが、文字列の出力は画面よりも長くなっています。標準の書込み(,)ステートメントを使用する場合、単純に新しい行を追加して次の行に続ける代わりに、出力を続行する前に2番目の改行が追加されます。 例コード: write(*,*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    1

    1答えて

    Visual Studio +インテルFortranを使用してFortranプログラムをコンパイルしています。プログラムは連続してうまく動作します。 しかし、コードを並列化しようとするとエラーが発生します:chkstk.asm not found。 面白いことに、私の配列のサイズを小さくすると、コードは再び並列化され、エラーは発生しません。 私は解決策を試しましたthis link:解決策(プロジ

    2

    1答えて

    Fortranでは、以下のような複数の値を返す関数を定義できますか? [a, b] = myfunc(x, y)

    0

    1答えて

    静的変数を使用してサブルーチン内に状態を格納することをお勧めしますか? 「いくつかのもの」の subroutine somesub() logical, save :: first_call = .true. if (first_call) then ! do some stuff first_call = .false. end if ! ... perform standa

    1

    2答えて

    N回反復してループしたいが、反復のいくつかは特定の条件の下で "スキップ"する必要がある。 私は私のような、goto文を使用してそれを行うことができます知っている:(Iは、Fortran 90を使用しています do i = 1, N if condition(i) goto 14 ! Execute my iteration if condition(i) is fa

    3

    2答えて

    私は、次のコマンドを試してみましたが、細かい read (2,*) tempstr , my_param(1), tempstr , my_param(2), tempstr , my_param(3) 問題がときで働く number# 125 var1= 2 var2= 1 var3: 4 . . . . number# 234 var1=

    1

    2答えて

    私はfortranプログラムで作業していて、奇妙な問題に遭遇しました。特定のサブルーチンを呼び出す前に配列の値を直接出力しようとすると、正しい値が得られます。私はサブルーチンを開始すると同じ配列のいくつかの値を出力しようとし、0です。私は最終的にサブルーチンの後に配列の値を出力し、値は期待値に戻ります。なぜ誰かが私の理解を助けることができますか?私のコードは以下の通りです: まず、メイン関数内のサ

    0

    1答えて

    私はFortran 90とインテルコンパイラを使用しています。 私は非常にサブルーチンの関数を使用して混乱しています。 program test INTEGER :: seed=5 REAL :: nor_ran_number1, nor_ran_number2 CALL Box_Muller_transform(seed,nor_ran_number1,nor_ran_number2)

    3

    1答えて

    出力をフラッシュするために、Fortranでflush関数を使用することについて多くのオンラインを参照してください。私は、特にFortran 90のために、とくにstdoutのために、これが私のコードに入れるための一行のライナーとしてどのような形を取るべきだろうと思っていますか? 私の推測はflush(*)です。