Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   convert fortran to C++ (http://www.go4expert.com/forums/convert-fortran-cpp-t11975/)

 norainon 9Jul2008 14:02

convert fortran to C++

i have a question regarding to convert from fortran language to C++ programming especially in diognal array

for example;

DO 10 I=1,3*(X+2)
10 ID(I)=(I-1)*m+1

how do i convert into C++ programming

 xpi0t0s 15Jul2008 13:27

Re: convert fortran to C++

I'm not clear what the above code has to do with diagonal arrays; ID looks like a simple array to me.
int ID[SUITABLE_LIMIT];
for (int i=1; i<=3*(x+2); i++) ID[i]=(i-1)*m+1;
Don't forget C++ arrays are zero based so SUITABLE_LIMIT must be at least the maximum value of 3*(x+2) PLUS ONE. Also the above loop doesn't initialise ID[0]; watch out for that one, maybe use an array name that indicates it's 1-based rather than zero based, something along the lines of Hungarian Notation but simpler, e.g int ID_nz[..], nz meaning "no zero element". I always end up confusing myself if I use some arrays that are zero based and some that are not, in the same program.

 abdunabi 7Mar2012 18:56

Re: convert fortran to C++

I have a question regarding to convert from fortran language to C++ programming. How I convert into C++ programming , Please someone help me!!!
Code:

```  DIMENSION TK(15), PK(15), TC(15),DT(15),DP(15),H(15),PAR(15),Q(15), M(15), PO(15), PO1(15), PO2(15), PI(15),     1 FORMAT (213)     5 FORMAT (2F8.4,I3)     3 FORMAT (3F10.4,I3)   15 FORMAT (///,8F10.5,/)       READ (5,1) NG, M1       READ (5,3) A,B,P,M2       READ (5,5) DTF,DPF,Z   25 FORMAT (F10.3)   98 READ (5,25) T       IF(T.EQ.0) GO TO 99       DO 100 I=1, NG       M(I)=M1+I-1       TK(I)=A*(8*M(I)+M2)**P+8       DT(I)=(M(I)-1)*0.02+DTF       TC(I)=TK(I)/(0.567+DT(I)-DT(I)**2)       DP(I)=(M(I)-1)*0.227+DPF       PK(I)=(14*M(I)+Z)/(DP(I)+0.34)**2       H(I)=(TK(I)/TC(I))*(ALOG10(PK(I))/(1-TK(I)/TC(I)))       PAR(I)=ALOG10(PK(I))+H(I)*(1-TC(I)/T)       PO2(I)=(14*M(I)+Z)/(82.06*TK(I))       PI(I)=5*(T/TC(I)-1)       PO1(I)=PO2(I)*10**PI(I)       PO3=1       PO(I)=PO1(I)+PO3*(1-T/TC(I))**0.3   100 Q(I)=10**PAR(I)   20 FORMAT (//,10F10.5,/)        WRITE(6,20) T       WRITE(6,15) (Q(I),I=1,NG)       WRITE(6,6) (PO(I),I=1,NG)     6 FORMAT (///,8F10.6,/)       GO TO 98   99 CONTINUE       STOP       END```

 All times are GMT +5.5. The time now is 14:13.