关于Fortran语句的问题do ir=1,maxtriread(1,*) mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)call atclxx(npotri(1,ir),x)-------------------------------------------------------------subroutine atclxx(node,x)implicit real*8 (a-h),real*8 (o-

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/09 05:09:55
关于Fortran语句的问题doir=1,maxtriread(1,*)mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)callatclxx(

关于Fortran语句的问题do ir=1,maxtriread(1,*) mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)call atclxx(npotri(1,ir),x)-------------------------------------------------------------subroutine atclxx(node,x)implicit real*8 (a-h),real*8 (o-
关于Fortran语句的问题
do ir=1,maxtri
read(1,*) mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)
call atclxx(npotri(1,ir),x)
-------------------------------------------------------------
subroutine atclxx(node,x)
implicit real*8 (a-h),real*8 (o-z)
dimension node(1),x(2,1)
ax=x(1,node(2))-x(1,node(1))
ay=x(2,node(2))-x(2,node(1))
bx=x(1,node(3))-x(1,node(2))
by=x(2,node(3))-x(2,node(2))
主程序第二行中读取文件1中的4个值给四个变量
然后调用atclxx函数,只把npotri(1,ir)的值传递给了子程序,但为什么子程序的node里面会有npotri(1,ir),npotri(2,ir),npotri(3,ir) 三个值
注:x是一个点的横纵坐标,npotri(1,ir),npotri(2,ir),npotri(3,ir)分别是三角形的三个顶点

关于Fortran语句的问题do ir=1,maxtriread(1,*) mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)call atclxx(npotri(1,ir),x)-------------------------------------------------------------subroutine atclxx(node,x)implicit real*8 (a-h),real*8 (o-
你确定你的程序没有报错?
你这段代码前后矛盾.
首先你定义一个node(1),这是一个容量只有1个的一维数组,它根本不是数组就是一个数.
这从语法上来讲没什么错误,但是你在后面又用node(2),node(3),这就超出数组边界了.
再看数组x,本身是个二维的,但是你把第二维的容量定义成一位,那它就只能等效成一个一维数组了.
你确定你给的程序能正确编译出来?我猜测应该是用了use module 语句了吧,如果代码有点年代了可能是common 语句.这些语句都可以让数据在相应的程序间共享的,不需要通过地址传递.

关于Fortran语句的问题do ir=1,maxtriread(1,*) mat_number(ir),npotri(1,ir),npotri(2,ir),npotri(3,ir)call atclxx(npotri(1,ir),x)-------------------------------------------------------------subroutine atclxx(node,x)implicit real*8 (a-h),real*8 (o- 一个简单的fortran问题,关于write的,help,tks一个简单的fortran问题,为什么执行语句 write(*,‘(1x,3i4)')(j,j=1,10) 后,生成的记录是4?help 关于fortran语言中if语句的简单问题DO I=1,LAIF(I-19) 1,1,21 FCOS = 90 - 5 * (I-1)GOTO 32 FCOS = 5 * (I-1) - 903 CONTINUEFCOS = .01745*FCOSACOS(I) = COS(FCOS)ACOS(I) = C*ACOS(I) * ACOS(I)END DO我想知道这个if语句是怎么执行的,那 fortran语言中do语句,例如:do 20 I=1,3怎么理解呢? 在fortran中,单do循环放在if语句里面的时候该怎么办? fortran ran函数如下语句program ranimplicit noneinteger i do i=1,1000print*,i,ran()enddoend program编译通不过去 是什么原因 我用的fortran 90 想用随机函数 关于fortran里的open语句fortran里的open(unit=10,filename,...)这个I/O单元代号是怎么确定的,我可以随意写吗?哪位大侠可以详细说说这个unit=子句, fortran里面的do循环问题do i=1,0,1...;.enddo这种循环会循环一次么?在c里面第一次循环前就要判断,所以上面一次也不会循环,在fortran里面是什么样子? 高中物理关于欧姆定律中的U的问题根据U=IR,电流增大时,电压增大.而根据U=E-Ir,电流增大时,电压减小. 能不能解释下这个fortran语句的意思? 关于fortran数值计算的问题我的fortran计算中出现了11.04×10000=110399这种现象,求大侠指教这是什么原因 fortran输出语句中advance='no'是什么意思? fortran的3个简单语句,有谁会fortran的解释下do i = 1,nz(i) = x(i) + y(i)enddodo i = 2,nz(i) = z(i - 1)*2enddodo i = 2,nz(i) = z(1)*2**(i - 1)enddo FORTRAN语言中open语句的问题例如 open (ninpt, file = 'gmcin.dat', form = 'formatled'),这里的gmcin.dat是指创建一个,还是原来就有的? 关于磁链与电流相乘的问题,如公式,Pm为功率,wr和ir为复向量,ir*为ir的共轭复向量,这个等式怎么成立 如公式,Pm为功率,wr和ir为复向量,ir*为ir的共轭复向量,这个等式右侧两式子怎么成立的,复数 关于Fortran中write语句的位置有个Fortran的函数如下:SUBROUTINE EXCOR_DER_PARA(RHO, NDER, EXCA, LEXCHG, TREL) USE prec USE constant IMPLICIT NONE LOGICAL TREL INTEGER LEXCHG ! type of gradient correc fortran语言赋值语句M=5+3.0**2/2执行后,整型变量M的值是? fortran语句中的only是什么意思