作者albn (微积=危机)
看板Fortran
标题[问题] 整理矩阵问题(数字重复)
时间Tue Apr 23 18:39:44 2013
大家好!
我有个矩阵如下
0 1 1 1
0 1 1 2
0 1 1 3
0 1 1 1
0 1 1 2
0 1 1 3
0 2 1 1
0 2 1 2
0 2 1 3
0 2 1 1
0 2 1 2
0 2 1 3
......
....
..
由上述矩阵 会有重复输入的问题 所以我想另一个新矩阵存成
0 1 1 1
0 1 1 2
0 1 1 3
0 2 1 1
0 2 1 2
.......
的方式,由於他的重复是会乱跳 所以我目前想法是用
设原本DATA为A矩阵 B为空矩阵
利用A的每一列与B的每一列作比较 如果不一样就输入
一样就跳过 但目前一直处於无限回圈的情况
附上code
ck=0d0
do i=1,24
write(*,*)'i=',i
do k=1,ck+1
write(*,*)'k=',k
if ((b(1,i) .EQ. c(1,k)) . AND . (b(2,i) .EQ. c(2,k)) . AND . (
!b(3,i) .EQ. c(3,k))) then
else
ck=ck+1
c(1,ck)=b(1,i)
c(2,ck)=b(2,i)
c(3,ck)=b(3,i)
c(4,ck)=b(4,i)
write(*,*)c(1,ck)
write(*,*)c(2,ck)
write(*,*)c(3,ck)
write(*,*)'end'
end if
enddo
enddo
前几次输出都没问题....後面就挂了
--
子欲养而亲不待
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.94.67
1F:→ fcuiii:看不太懂你得说明,CODE里面的C和B代表啥?? 04/23 20:29
2F:→ albn:C是指新矩阵 B是指旧矩阵也就是原始值 04/23 20:48
3F:推 fcuiii:哪你就不能用else,要用elseif把例外的条件设定好 04/23 21:02
4F:→ fcuiii:只用else这样会把不成立都做一次就会变无限哩 04/23 21:04
5F:推 jubilee2:加个excit 04/23 22:28
6F:→ albn:後来稍微修改後 用exit!!! 就OK! 原本几百万行瞬间少很多!! 04/24 00:37
7F:→ albn:谢谢各位!! 04/24 00:37