fortran.编写子程序对数组元素从大到小排序。再调用该子程序对矩阵中的指定元素进行排序并输出排序结果。

说明下,关键是确定什么情况下停止排序~要先判定。。我出得起的就三十了。。苦逼一个。。取矩阵元素有两个方案,一是对角线元素(i=j)二是取矩阵外围一圈元素(这个不会哪)求两... 说明下,关键是确定什么情况下停止排序~要先判定。。我出得起的就三十了。。苦逼一个。。
取矩阵元素有两个方案,一是对角线元素(i=j)二是取矩阵外围一圈元素(这个不会哪)求两种解法....
展开
 我来答
百度网友39d9835
2011-06-05 · TA获得超过615个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:744万
展开全部
“对矩阵中的指定元素进行排序”啥意思?怎么排,想要什么结果?
追问
我想知道的就是指定矩阵对角线(i=j)元素,以及指定矩阵最外层元素,或者次外层元素。把矩阵中的这些元素取出排序之后在输出排序结果就可以了。感激不尽~马上上机考试了...
追答
你只是想要一个排序算法吧,给你一个“选择排序”子程序,自己理解和根据需要变换吧

subroutine selsort(arr, num)
implicit none
integer, intent (in) :: num
integer, intent (inout) :: arr(num)
integer :: i, j, m, t

do i = 0, num-1
m = i

do j = i+1, num
if (arr(j) < arr(m)) then
m = j
end if
end do

if (i /= m) then
t = arr(i)
arr(i) = arr(m)
arr(m) = t
end if
end do
! write(*, *) arr
end subroutine selsort

program foo
implicit none
integer :: arr(8) = (/11, 5, 98, 45, 23, 18, 1, 12/)

call selsort(arr, 8)
write(*, *) arr

call selsort(arr, 3)
write(*, *) arr
end program foo
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式