私は Fortran 90 の課題に取り組んでおり、サブルーチンと関数の使用方法を学ぶのに多くの問題を抱えています。誰かが私を助けてくれることを願っています。明らかでない場合は、私は FORTRAN に非常に慣れていないため、C や Java などの言語に慣れています。
とにかく、ここで私がしなければならないことは次のとおりです。ユーザーは、実行したいことを選択します: 2 つの行列の加算、減算、乗算、または転置。これには選択ケースを使用していますが、これはうまく機能します。ただし、同じコードを複製して 2 つの行列を 4 回塗りつぶしたくないので、別の関数にしようとしています。理想的には、次のようなことをしたいと思います。
integer matrix1(11,11), matrix2(11,11)
integer rows1,cols1,rows2,cols2,i,j
case (1)
matrix1 = fillmatrix(rows1,cols1)
matrix2 = fillmatrix(rows2,cols2)
.
.
.
function fillmatrix(rows,columns)
integer input
read *,rows,columns
do i = 1, rows
do j = 1, columns
fillmatrix(i,j) = read *,input
end do
end do
end
このようなことをする方法はありますか?そして、自分の言いたいことを言うのに苦労することがあるので、自分自身を明確にしていますか。
または、これは可能ですか?
matrix1 = fillmatrix(rows1)cols1)
function fillmatrix(rows,columns)
integer input,matrix(11,11)
//fill matrix
return matrix
end