私の仕事は、C++をベースにしたOpenFOAM(流体シミュレーションのもの)で動作させました。私はC++については何も知らず、世界のプログラムをコンパイルする方法さえも知らない。 OpenFOAMでは、3次元配列をASCIIファイルとしてテキストファイルに出力できます。私の計算に時間がかからないのでこれは大丈夫です。ファイルには、1行に1つの値があります。これらの値にはどのような順序がありますか?したがってC++はデフォルトでどのように配列を出力しますか?
、FortranでIは
WRITE(*,*) 3d_array
を行うことができ、それは、それらが保存された順序で配列の値が表示され、これが最初の反復がx方向にあることを意味し、Yに、その後にz方向。出力は次のように出力されます:
integer, allocatable, dimension(x,y,z)::3d_array
[...]
do k=1,z
do j=1,y
do i=1,x
write(*,*) 3d_array(i,j,k)
end do
end do
end do
C++での動作は?
もう少し必要です。配列はどのようにC++で宣言されていますか? – sp2danny
私はこのより良い答えをしたいと思います。フィールドのヘッダーには、volScalarFieldと表示されます。私はそれが三次元であることを知っています。サイズを定義する変数はx、y、zでもあり、それらの順序は同じです。 volScalarFieldはC++クラスです。ここには何かがあります:http://openfoamcfd.sourceforge.net/doc/Doxygen/html/dc/d89/namespaceFoam.html#a128しかし、私は今それを取得しません。 –
@DevSolar音色はお詫びしますが、本当に知りたかったのは、配列のデフォルト出力がC++でどのようになっているかです。私はデフォルト出力がないことを知らなかったので、今私は、Quentinのおかげです。 他の回答/コメントが完全な質問を読んでいないように思われたので、私は迷惑になりました。 –