FORTRAN→Cに翻訳
どなたか、次のFORTRANのプログラムを、Cに、翻訳して頂けないでしょうか。C++ではなく、Cです。ANSI準拠のCでお願いします。
プログラムの内容は、最小二乗法による計算プログラムです。MS-DOS Ver3.3~6.0の頃の、MS FORTRANコンパイラ仕様のものです。その頃持っていたFORTRANの本も処分してしまい、今からFORTRANを学びなおすのにも多大な労力と時間がかかりそうなので、Cに翻訳して頂ければ大変ありがたいです。よろしくお願いします。
(“□”はタブ)
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
C□LEAST SQUARE APPROXIMATION
□PROGRAM MAIN9
□DIMENSION X(100),Y(100),S(0:18),T(0:9),SM(10,10),TV(10),AV(10)
□WRITE(*,*) 'N ?'
□READ(*,*) N
□WRITE(*,*) 'x1,x2,..,xn ?'
□READ(*,*) ( X(I),I=1,N )
□WRITE(*,*) 'y1,y2,..,yn ?'
□READ(*,*) ( Y(I),I=1,N )
□WRITE(*,*) 'M ?'
□READ(*,*) M
□DO 110 K=0,M*2
□□VS=0.
□□DO 100 I=1,N
□100□VS=VS+X(I)**K
□□S(K)=VS
□110□CONTINUE
□□DO 130 K=0,M
□□□VS=0.
□□□DO 120 I=1,N
□120□VS=VS+Y(I)*X(I)**K
□□□T(K)=VS
□130 CONTINUE
□□DO 140 I=1,M+1
□□□DO 140 J=1,M+1
□□□□K=I+J-2
□□□□SM(I,J)=S(K)
□140 CONTINUE
□□DO 150 I=1,M+1
□150 TV(I)=T(I-1)
□□CALL SIMULE( AV, SM, TV, M+1 )
□□DO 160 I=1,M+1
□160 WRITE(*,1000) I-1,AV(I)
□1000 FORMAT(1H ,'A',I1,'=',F10.5)
□□STOP
□□END
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
お礼
すっきりしましたありがとうございます!