用fortran77合并数组
我有两个数组:用fortran77合并数组,fortran,fortran77,Fortran,Fortran77,我有两个数组:A=[1234]和B=[56788]。如何将A和B合并到一个数组C中,然后按升序对C进行排序?我需要在fortran 77中执行此操作。这里是串联/排序算法的简单实现: program sort integer size1, size2, sizeout parameter (size1 = 4, size2 = 4) parameter (sizeout = size1 + size2) integer in1(size1), in2(si
A=[1234]
和B=[56788]
。如何将A和B合并到一个数组C中,然后按升序对C进行排序?我需要在fortran 77中执行此操作。这里是串联/排序算法的简单实现:
program sort
integer size1, size2, sizeout
parameter (size1 = 4, size2 = 4)
parameter (sizeout = size1 + size2)
integer in1(size1), in2(size1)
data in1/1,2,4,4/, in2/5,8,7,5/
integer out(sizeout)
c concatenate arrays
do j=1,size1
out(j)=in1(j)
enddo
do j=1,size2
out(j+size1)=in2(j)
enddo
c sort the elements of the output array
4 do j=2,sizeout
if(out(j).lt.out(j-1)) then
temp =out(j-1)
out(j-1)=out(j )
out(j )=temp
goto 4
endif
enddo
end
嗨,欢迎来到StackOverflow!这不是一个代码编写服务;请举例说明你所做的尝试和遇到的问题。请参阅以获取指导。还请明确说明为什么不能使用现代fortran。这是fortran 77的一部分,也是现代fortran的一部分。这在任何标准下都是不合法的。@francescalus谢谢你注意到这一点。正如我提到的,这是一个在我的机器上用gfortran编译的简单实现。它连接两个数组并按升序对它们进行排序。请随意编辑我的答案,使其符合F77。要么责怪OP试图使用SO作为代码编写服务,要么用勺子喂他们。不是两者都有。除了最后一条,我支持这里的所有其他评论,我相信@agentp没有测试代码。代码进行排序,如果删除了
goto
,则无法正确排序。