由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Joke版 - 求教各位大仙一个fortran问题
相关主题
程序猿们要疯狂了Re: 大家做过最恶的梦是什么? (转载)
程序猿写马蟒蛇咬以色列女模人工巨乳后死亡 疑遭硅胶毒死
How many months have 28 days?被蟒蛇 咬胸视频
这个结果是啥,为什么呢?如何让孩子学好数学
新版规征集意见[笑话]数学成绩 (转载)
既然不用的就退化了学数学
中国女孩快把诈骗集团弄哭 老外忍不住笑翻野外遇到蛇怎么办
向万能的学术版求助以色列模特豪乳被咬 巨蟒硅胶中毒太深死亡
相关话题的讨论汇总
话题: fortran话题: do话题: 大仙话题: enddo话题: endif
进入Joke版参与讨论
1 (共1页)
f***t
发帖数: 2247
1
求教各位大仙一个fortran问题:
已知数组A=(0,1,0,2,0,0,5),现需要把其中的非零元素写入另一个数组B,即输出B=(1
,2,5)
中间的那条语句到底应该怎么写?如果您还有别的方法,也请不吝告知,先谢谢了。必须
是fortran :(
do i = 1, 7
if (A(i).ne.0) then
B = A(i) */这个地方到底应该怎么写?多谢!
else
endif
enddo
B********u
发帖数: 1
2
用两个下标呗
A就用你的do i = 1, 7
B设定一个初始值j = 1,遇到A(i) ne 0的时候j++
f***t
发帖数: 2247
3
先多谢!军版ToyotaYaris (丰田雅力士)给出的回答和你的一样。
---------------------------------------------------------
多谢!
我就是这么干的,但编译通不过。既然你也认为这样没错,那我只有检查这个循环内的
其他鬼咚咚了。

j = 1
do i = 1, 7
if (A(i).ne.0) then
B(j) = A(i) */这个地方到底应该怎么写?多谢!
j=j+1
else
endif
enddo
------------------------------------------------------
B********u
发帖数: 1
4
你这如果A在这之后不需要的话,甚至可以in-place弄,道理一样,也不用另外搞个B

【在 f***t 的大作中提到】
: 先多谢!军版ToyotaYaris (丰田雅力士)给出的回答和你的一样。
: ---------------------------------------------------------
: 多谢!
: 我就是这么干的,但编译通不过。既然你也认为这样没错,那我只有检查这个循环内的
: 其他鬼咚咚了。
:
: j = 1
: do i = 1, 7
: if (A(i).ne.0) then
: B(j) = A(i) */这个地方到底应该怎么写?多谢!

f***t
发帖数: 2247
5
好的,我先查一下这个循环内的其他东西再说。多谢!

【在 B********u 的大作中提到】
: 你这如果A在这之后不需要的话,甚至可以in-place弄,道理一样,也不用另外搞个B
f***t
发帖数: 2247
6
您好,A在后边不调用了,使用您说的in-place,如何搞这个问题为好?麻烦您就这个
例子,具体写一下可以吗?先谢谢了。

【在 B********u 的大作中提到】
: 你这如果A在这之后不需要的话,甚至可以in-place弄,道理一样,也不用另外搞个B
w**d
发帖数: 2334
7
好多年没用过Fortran了,印象里也是要初始化变量的,就相当于C里头的分配memory。
你这个B要开始指定长度吗?
j***6
发帖数: 107
8
为何会发到joke版来啊
(见鬼了,为什么J加1中间那个加号显示不出来?)
这样可以不
J=1
Do I = 1,7
If (A(i).eq.0) then
Goto 20
End if
B(j)=A(I)
J=j 1
20 Continue
End do
也就是遇到0跳过,B的下标不变。
H********g
发帖数: 43926
9
这个站贴程序经常会被过滤

【在 j***6 的大作中提到】
: 为何会发到joke版来啊
: (见鬼了,为什么J加1中间那个加号显示不出来?)
: 这样可以不
: J=1
: Do I = 1,7
: If (A(i).eq.0) then
: Goto 20
: End if
: B(j)=A(I)
: J=j 1

w*****g
发帖数: 16352
10
看了下,会FORTRAN的好象多是53老将。

★ 发自iPhone App: ChinaWeb 1.1.5

【在 H********g 的大作中提到】
: 这个站贴程序经常会被过滤
相关主题
中国女孩快把诈骗集团弄哭 老外忍不住笑翻蟒蛇咬以色列女模人工巨乳后死亡 疑遭硅胶毒死
向万能的学术版求助被蟒蛇 咬胸视频
Re: 大家做过最恶的梦是什么? (转载)如何让孩子学好数学
进入Joke版参与讨论
w*****g
发帖数: 16352
11
蟒蛇+熊猫, 一句话的事情,非要自己重新发明轮子。

★ 发自iPhone App: ChinaWeb 1.1.5

【在 w*****g 的大作中提到】
: 看了下,会FORTRAN的好象多是53老将。
:
: ★ 发自iPhone App: ChinaWeb 1.1.5

z***i
发帖数: 8285
12
老板怀旧。。

蟒蛇+熊猫, 一句话的事情,非要自己重新发明轮子。
★ 发自iPhone App: ChinaWeb 1.1.5

【在 w*****g 的大作中提到】
: 蟒蛇+熊猫, 一句话的事情,非要自己重新发明轮子。
:
: ★ 发自iPhone App: ChinaWeb 1.1.5

j***6
发帖数: 107
13
楼主说了,必须是 Fortran
估计是历史遗留问题


: 蟒蛇 熊猫, 一句话的事情,非要自己重新发明轮子。

: ★ 发自iPhone App: ChinaWeb 1.1.5



【在 w*****g 的大作中提到】
: 蟒蛇+熊猫, 一句话的事情,非要自己重新发明轮子。
:
: ★ 发自iPhone App: ChinaWeb 1.1.5

w*****g
发帖数: 16352
14
估计那个撸主不是在改老代码,而是要调用老代码,如果是后者,还不如回去自己好好
写数据接口。

★ 发自iPhone App: ChinaWeb 1.1.5

【在 j***6 的大作中提到】
: 楼主说了,必须是 Fortran
: 估计是历史遗留问题
:
:
: 蟒蛇 熊猫, 一句话的事情,非要自己重新发明轮子。
:
: ★ 发自iPhone App: ChinaWeb 1.1.5
:

d*********1
发帖数: 1
15
https://pyccel.readthedocs.io/
用这个就好

(1

【在 f***t 的大作中提到】
: 求教各位大仙一个fortran问题:
: 已知数组A=(0,1,0,2,0,0,5),现需要把其中的非零元素写入另一个数组B,即输出B=(1
: ,2,5)
: 中间的那条语句到底应该怎么写?如果您还有别的方法,也请不吝告知,先谢谢了。必须
: 是fortran :(
: do i = 1, 7
: if (A(i).ne.0) then
: B = A(i) */这个地方到底应该怎么写?多谢!
: else
: endif

1 (共1页)
进入Joke版参与讨论
相关主题
宠物黄金蟒新版规征集意见
5米长巨蟒一次吞87只鸟蛋 难消化身体鼓胀既然不用的就退化了
车主将哈士奇放车内防盗 车窗被砸狗仍呼呼大睡中国女孩快把诈骗集团弄哭 老外忍不住笑翻
Re: 学生物的真是藏龙卧虎阿 (转载)向万能的学术版求助
程序猿们要疯狂了Re: 大家做过最恶的梦是什么? (转载)
程序猿写马蟒蛇咬以色列女模人工巨乳后死亡 疑遭硅胶毒死
How many months have 28 days?被蟒蛇 咬胸视频
这个结果是啥,为什么呢?如何让孩子学好数学
相关话题的讨论汇总
话题: fortran话题: do话题: 大仙话题: enddo话题: endif