24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1480  |  回复: 1

q1036210267

木虫 (正式写手)

[求助] fortran 中 排序问题

fortran 中 排序问题,       
integer::a(size)=(/5,3,6,4,8,7,1,90,21,10/)
integer::b(size)=(/5,3,6,4,8,7,1,9,200,100/)

对a 进行从小到大排序,前提是b和a对应的,b随a排序而变化。
也就是我想得到这样的一个结果,排完序后写成:
(*,10)i, a(i),b(i)
10 format(3i4)

结果为:

   1       1          1
   2       3          3   
   3       4          4
   4       5          5
   5       6          6
   6       7          7
   7       8          8
   8     10      100
   9     21     200
  10    90         9


谢谢啦
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)


jjdg: 金币+1, 感谢分享 2012-04-14 12:48:06
我攻克这个 问题了。现在我把程序贴出来。

        program main
        implicit none
        integer,parameter:: size=10
        integer:: a(size)=(/5,3,6,4,8,7,1,90,21,10/)
        integer:: b(size)=(/5,3,6,4,8,7,1,9,2,10/)
        integer:: i, j, t1, t2

        do i = 1, size-1
          
           do j = i+1, size

              if( a(i) > a(j) )then
               
                      t1=a(i)
                  t2=b(i)
                  a(i) = a(j)
                  b(i) = b(j)
                  a(j) = t1
                          b(j) = t2          

                  endif
  
           enddo

        enddo

        do i = 1,10       

        WRITE(*,10)i, a(i), b(i)

        enddo

10    format(3i5)

        end
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
2楼2012-04-13 14:35:21
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员94tPwG 的主题更新
信息提示
请填处理意见