回 帖 发 新 帖 刷新版面

主题:菜鸟求编一个fortran小程序

编写求n个数中最大最小值的子程序,再调用子程序求矩阵某些元素的最大最小值
“某些元素”到时可能有具体例子,比如对角线上的,第X行,第X列,正数,麻烦高手也顺便给我举个例子...矩阵是二维数组吗?那怎么转换成一维数组呢?感激不尽!!
明天要考上机了,可是我一个学期都没有学...T.T...
来这里提问菜鸟问题,就有被骂的觉悟了...但求各位帮帮忙,举手之劳...我是第一次在论坛发帖子求助,不知道最后会怎样...虽然大家都是隔着网络的陌生人,但是我想说,哪一位帮帮我,我也希望能在他困苦时尽力帮助他!留下邮箱 qq3297269@yahoo.com.cn   本人大一,女,19,向各位真心求助,绝不是哗众取宠!

回复列表 (共55个回复)

11 楼

+U啊,我们顶你~~~

12 楼

考试还可以上网的啊

13 楼

这不是他们两点才开考嘛:)

14 楼

现在考试中……正式题目是:编写求n个数中绝对值最大最小值的子程序,再编写函数子程序求矩阵两对角线绝对值元素的最大最小值
并输出,同时输出两对角线元素……一个小时的时间……
矩阵是4乘4
5,-7,-8,9
-4,2,1,10
5,4,0,-5
-11,-21,8,6
不会呀……好复杂……哭……求助!

15 楼

楼主考试中果然在此出现

16 楼

subroutine sub(M,Mmax,Mmin)
DIMENSION M(4,4),

Mmax = 0    !!!最大值
Mmin =  10000000    !!!最小值
DO J = 1,4
   DO I = 1,4
      IF (ABS(M(I,J)) .GT. Mmax) Mmax = M(I,J)
      IF (ABS(M(I,J)) .LT. Mmin) Mmin = M(I,J)
   ENDDO
ENDDO
RETURN
END



FUNCTION MAX(A)
DIMENSION M(4,4)
MAX = 0
DO I = 1,4
   IF (ABS(M(I,I)) .GT. max) MAX = M(I,I)
   IF (ABS(M(I,5-I) .GR. max) MAX = M(I,5-I)
   WRITE(*,*) M(I,I)
   WRITE(*,*) M(I,5-I)
ENDDO
RETURN
END


楼主还在吗?求交友
 

17 楼

我在……我现在差的是……怎么把矩阵里对角线元素筛选出来啊~求解!

18 楼

function maxmin(x,n,xmax,xmin)
  implicit none
  integer i, n,xmax,xmin,maxmin
  integer x(n)
  xmax=x(1);xmin=x(1)
  do i=2,n
     if(xmax<x(i)) then
     xmax=x(i)
     end if
     if(xmin>x(i))then
     xmin=x(i)
     end if
  end do
  return
end function

program ex001
  implicit none
  integer,parameter::p=4,q=4 
  integer x(p,q),xmax,xmin,i,a(i)
  write(*,*)"输入矩阵:"
  read*,x

do i=1:4
a=reshape(x,(/9/))
a(i)=x(i*i)
write(*,*)x(i)




  call maxmin(x(1:p,1:q),p*q,xmax,xmin)
  write(*,*)"矩阵中对角线元素绝对值的最大值:"
  write(*,"(4i5)")xmax
  write(*,*)"矩阵中对角线元素绝对值的最小值:"
  write(*,"(4i5)")xmin
end program

19 楼

求指正!好多错……而且不会编另一条对角线……

20 楼

反对角线啊,就是两个维度下标之和为N+1的所有单元:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册