回 帖 发 新 帖 刷新版面

主题:程序转换

本人要编一个小程序 用FORTRAN 来实现计算一个已知数组中不同元素的个数  并输出不同元素

本人用matlab 编的 

N=10;
A=[1,2,3,2,4,5,3,6,4,7];
B=[];
B(1)=A(1);
j=1;
for i=2:N
     for k=1:j
         if(B(k)==A(i)) break; end
      if((k==j)&(B(k)~=A(i)))
               j=j+1;B(j)=A(i);  
      end
     end
end


A[]为已知数组 j 为不同的个数  运行结果  B =

     1     2     3     4     5     6     7

若要用上述程序转换成fortran 本人不太会 求解释  

fortran 好像没有 与 break对应的语句

回复列表 (共4个回复)

沙发


这个简单[em2]

板凳


break似乎用exit替代就可以啦[em2]

   program main

   implicit none
   integer::i,j,k
   integer,parameter::N=10
   integer,dimension(N) :: a,b
   data a/1,2,3,2,4,5,3,6,4,7/
    
   b(1) = a(1)
   j=1
   do i = 2,N
    do k = 1,j
     if( b(k)==a(i) ) exit
     if( b(k)/=a(i).and.k==j ) then
      j = j + 1; b(j) = a(i)
     endif
    enddo
   enddo
   write(*,*) (b(i),i = 1,j)

   end program

3 楼


呵呵, 谢谢啦 以前没有碰到过 EXIT 这个函数 呵呵啦

4 楼

这里用的是EXIT语句,而不是函数,EXIT函数是用于退出程序的:)

我来回复

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