如何在fortran中将两个大小相同的一维数组合并成一个二维数组?
例如已知的两个一维数组a,b都有10个元素,如何合并出二维数组c=(a,b)?求高手解答,谢谢即就是将数列a中的元素赋给二维数组c中的第一列,将数列b中的元素赋给数组c中...
例如已知的两个一维数组a,b都有10个元素,如何合并出二维数组c=(a,b)?求高手解答,谢谢
即就是将数列a中的元素赋给二维数组c中的第一列,将数列b中的元素赋给数组c中的第二列 展开
即就是将数列a中的元素赋给二维数组c中的第一列,将数列b中的元素赋给数组c中的第二列 展开
1个回答
展开全部
就算合并,也不可能是 c(a,b) 啊。a,b假如都是10个元备隐带素。合并以后顶多也就 10*2 个元素,不可能是 10*10个,所以不可能是c(a,b) 这样。
如果你的意思是 10*2 个元素,那么:
c(:,1) = a(:)
c(:,2) = b(:)
这是唯一的办法。
从逻辑上说,数组之所以成数组,是因为其地址在一起。这样可以通过下标方便的计算出某个元素对应的地址。
而仿芦 a,b 数组的首地址极大可能不是相连的。要把他们合并成一个数组,必须重新赋值。
如果 a b 较大的话,这样的赋值也会很慢。此时,可考虑使用指针串表。
除非语法有了新的规定携销。
如果你的意思是 10*2 个元素,那么:
c(:,1) = a(:)
c(:,2) = b(:)
这是唯一的办法。
从逻辑上说,数组之所以成数组,是因为其地址在一起。这样可以通过下标方便的计算出某个元素对应的地址。
而仿芦 a,b 数组的首地址极大可能不是相连的。要把他们合并成一个数组,必须重新赋值。
如果 a b 较大的话,这样的赋值也会很慢。此时,可考虑使用指针串表。
除非语法有了新的规定携销。
追问
谢谢您的回答,可能我的表述不是很清楚,让您误解了我的意思,我的意图是想把数列a中的元素赋给二维数组c中的第一列,将数列b中的元素赋给数组c中的第二列
追答
c(:,1) = a(:)
c(:,2) = b(:)
我已经给出代码了啊。你没仔细看吧?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询