fortaran初心者です...(複数条件の一致のカウント)
はじめまして。
初歩的な質問でごめんさい。
今次のようなデータがあります。
(1) (2)
1156605004 11514
1156605004 01543
1157605004 11514
1121405601 01111
1121405601 04184
これより出力を(1)が同じものの中にいくつ違う(2)があるのかカウントしたいのですがなぜだか出来ません。誰か教えてもらえないでしょうか?
出力はこのようにしたいのです。
1157605004 02
1121405601 02
としたいのです。
ちなみに私が作ったプログラムは、
INTEGER i,j,k,ii,jj
PARAMETER (numdis=9000000,namer=20)
INTEGER DAT1,DAT2,DAT3
DIMENSION NKOTU(numdis,namer),NUMR(numdis)
do 2 i=1,numdis
NUMR(i)=0
do 1 j=1,namer
NKOTU(i,j)=0
1 CONTINUE
2 CONTINUE
14 READ(11,5001,END=15) DAT1,DAT2,DAT3
5001 FORMAT(I10,1X,I5,1X,I2)
NKOTU(DAT1,DAT3)= 1
GOTO 14
15 CONTINUE
do 3 ii=100000,numdis
do 4 k=1,namer
If (NKOTU(ii,k).EQ.1) NUMR(ii)=NUMR(ii)+1
If (NKOTU(ii,k).EQ.1) WRITE(21,6004) NUMR(ii),KOTU(ii,k)
4 CONTINUE
3 CONTINUE
do 5 jj=100000,numdis
If (NUMR(jj).GE.1) WRITE(21,6004) jj, NUMR(jj)
5 CONTINUE
6004 FORMAT(I10,1X,I5)
STOP
END
配列が大きすぎるのでしょうか?
こんな初歩的な質問で申し訳ないのですが
誰か教えてください、よろしくお願いします。
お礼
お答え有難うございます。 教科書にそういう書き方がしていなくて、ぼんやりとしか理解できていませんでした。 分裂は音がその言葉のとおり分裂してきこえると言うことですよね。