[FORTRAN] Question toute conne !

Question toute conne ! [FORTRAN] - Programmation

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

Reply

Marsh Posté le 08-05-2001 à 19:06:41   

Reply

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))
    }
}

Reply

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

Reply

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

Reply

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]

Reply

Marsh Posté le 08-05-2001 à 23:06:09    

Pas grave bien vu pour les tableaux... ca m'est passe sous le nez

Reply

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.

Reply

Marsh Posté le 09-05-2001 à 10:42:57    

Merci a tous. Vous venez de me rendre une fiere chandelle. :hello:

Reply

Marsh Posté le 09-05-2001 à 10:47:43    

T'inquietes on t'enverra la facture  :D  :D  ;)

Reply

Marsh Posté le 09-05-2001 à 11:48:56    

Euh... dans ce cas, gardez la (fiere) chandelle...  :sarcastic:
 
 
 
 
 
:D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed