Question toute conne ! [FORTRAN] - Programmation
Marsh Posté le 08-05-2001 à 22:51:44
Je te le traduit en C :
for(k=1;k<=k2,k+=k3)
{
if(k==1) kkk=1;
else kkk=k1;
for(j=2;j<=m2;j++)
for(i=2;i<=l2;++i)
{
x[i][j][kkk]=0.25*(xc(i-1,j-1,k)+xc(i-1,j,k)+xc(i,j,k)+xc(i,j-1,k))
y[i][j][kkk]=0.25*(yc(i-1,j-1,k)+yc(i-1,j,k)+yc(i,j,k)+yc(i,j-1,k))
z[i][j][kkk]=0.25*(zc(i-1,j-1,k)+zc(i-1,j,k)+zc(i,j,k)+zc(i,j-1,k))
}
}
Marsh Posté le 08-05-2001 à 22:56:05
si mes souvenirs sont bons ca doit donner a peu pres ca en c:
for (k=1;k<k2;k+=k3)
{
if(k==1)
{
kkk=1;
}
else
{
kkk=k1;
}
for (j=2;j<m2;j++)
{
for(i=2;i<l2;i++)
{
x[i][j][kkk]=0.25*(xc[i-1][j-1][k]+....
y[i][j][kkk]=...
...
}
}
}
La ou je ne suis pas sur c'est sur les bornes des for, je ne me rappele plus si la borne sup est atteint ie si par exemple i<l2 ou i<=l2
Marsh Posté le 08-05-2001 à 23:00:13
WPK-> Tu te fous de ma geule c'est le meme code que moi sauf que je suis a peu pres sur que la borne sup est atteinte
Marsh Posté le 08-05-2001 à 23:04:47
t'as ete plus rapide(j'ai vu ton post apres avoir posté), sorry, en plus, y'a une legere faute,
xc(i-1,j,k) c'est des tableux donc xc[i-1][j][k]
Marsh Posté le 08-05-2001 à 23:06:09
Pas grave bien vu pour les tableaux... ca m'est passe sous le nez
Marsh Posté le 09-05-2001 à 09:11:05
Juste un detail, en FORTRAN les indices de tableaux commencent a 1 alors qu'en C ils commencent a 0...
donc x(i,j,kkk) => x[i-1][j-1][kkk-1]
de plus il manque les declarations qui ne sont pas toutes indispensables en FORTRAN :
int i,j,k,k2,k3,kkk;
x,y,z,xc,yc,zc doivent etre des reels mais en FORTRAN il doit au moins y avoir une clause DIMENSION pour definir leur taille.
Marsh Posté le 09-05-2001 à 10:42:57
Merci a tous. Vous venez de me rendre une fiere chandelle.
Marsh Posté le 08-05-2001 à 19:06:41
Voila, j'ai jamais fait de fortran, est-ce que quelqu'un peut me traduire precisement ce passage ? Merci.
do 250 k=1,k2,k3
if(k.eq.1) then
kkk=1
else
kkk=k1
endif
do 250 j=2,m2
do 250 i=2,l2
x(i,j,kkk)=0.25*(xc(i-1,j-1,k)+xc(i-1,j,k)+xc(i,j,k)+xc(i,j-1,k))
y(i,j,kkk)=0.25*(yc(i-1,j-1,k)+yc(i-1,j,k)+yc(i,j,k)+yc(i,j-1,k))
z(i,j,kkk)=0.25*(zc(i-1,j-1,k)+zc(i-1,j,k)+zc(i,j,k)+zc(i,j-1,k))
250 continue