*我之前发了一篇关于我的作业的帖子,我设法得到了非常感激的帮助,但是我又一次被困住了。我绝不会试图完成我的家庭作业或类似的事情,我只是不明白。作业告诉我“在您的代码中,您应该定义一个包含 5 个元素的向量类型数组。然后,您的代码应打开提供的 .dat 文件以读入五个向量值,并且不应将每个向量分别读入数组,而应使用从 1 到 5 的循环来读取所有必需的向量。这将为您留下一个向量数组,该数组将被标记为 Vi ,其中 i 表示数组中特定元素的索引。然后,您应该执行并输出(使用合适的注释输出指示哪个输出是哪个输出)以下计算:
L = V1 + (V2 − V3)
M = V2 ● V4
N = V1 × V5'
到目前为止,我已经做到了这一点,并且我非常确定它的错误 id 就像朝着正确方向的巨大推动一样谢谢。*
program assign_9_2_main
USE assign_9_2_module
type(myvector), dimension(5) :: varray
integer :: i, L, M, N
OPEN(5,FILE='vectors.dat')
READ(5,*) varray(1)
DO i = 1, 5, 1
end do
CLOSE(10)
L=varray(1)+(varray(2)-varray(3))
M=varray(2)*varray(4)
N=varray(1)*varray(5)
write(*,*) L, M, N
end program assign_9_2_main
当我编译它时,我收到一条错误消息:L=varray(1)+(varray(2)- varray(3)) 1 错误:(1) 处的二进制数字运算符“-”的操作数是 TYPE(myvector)/类型(myvector)assign_9_2_main.f90:14.2:
M=varray(2)*varray(4)
1
Error: Operands of binary numeric operator '*' at (1) are TYPE(myvector)/TYPE(myvector)
assign_9_2_main.f90:15.2:
N=varray(1)*varray(5)
1
Error: Operands of binary numeric operator '*' at (1) are TYPE(myvector)/TYPE(myvector).
clearly i'm doing something wrong please can someone help