[C] je suis une brêle

je suis une brêle [C] - Programmation

Marsh Posté le 17-04-2002 à 17:39:08    

je comprends pas pkoi il me dit que n=0 à CHAQUE pas !!
 
 
 
 
 
 
 
 
 
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
#define N 10
#define sqr(x) ((x)*(x))
 
main()
{
  double aux,x,y,a0,a1;
  int n=2;
  FILE *out;
  out=fopen("suite.txt","w" );
  a0=11./2;
  a1=61./11;
  printf("%f\n",n);
  fprintf(out,"0 %f\n1 %f\n",a0,a1);
  for(n=2;n<=N;n++)
    {
      printf("%f\n",n);
      aux=111-1130/a1+3000/(a0*a1);
      fprintf(out,"%f %f\n",n,aux);
      a0=a1;
      a1=aux;
    }
  close(out);
}


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:39:08   

Reply

Marsh Posté le 17-04-2002 à 17:40:11    

A chaque affichage tu veux dire ???
 
Deja pourquoi %f ( c'est pas les floats ca )

 

[jfdsdjhfuetppo]--Message édité par lord ii--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 17:41:14    

par ex, g mis n=2
 
 
mais dès le 1er printf de n, j'obtiens 0 sur ma console


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:41:15    

printf("%f\n",n);  
 
%f = float
%d = entier
 
-> printf("%d\n",n);

Reply

Marsh Posté le 17-04-2002 à 17:41:35    

MERCI  
 
 
je VIENS de le voir  :o


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:42:08    

Citation :


a0=11./2;  
a1=61./11;  


 
c'est quoi ce point ???

Reply

Marsh Posté le 17-04-2002 à 17:42:22    

désolé de vous avoir dérangé !! :hello:


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:43:20    

Hark > ce sont les points initiaux de la suite


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:45:56    

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
#define N 10
#define sqr(x) ((x)*(x))
 
void main(void)  {
 double aux, x, y, a0, a1;
 int n = 2;
 FILE *out;
 
 out = fopen("suite.txt","w" );
 
 a0=11/.2;
 a1=61/.11;
 
 printf("%d\n", n);
 fprintf(out,"0 %f\n1 %f\n", a0, a1);
 
 for(n = 2; n <= N; n++) {
     printf("%d\n", n);
     aux = 111-1130/a1 + 3000/(a0*a1);
     fprintf(out,"%d %f\n",n,aux);
 
     a0 = a1;
     a1 = aux;
   }
 fclose(out);
}

Reply

Marsh Posté le 17-04-2002 à 17:48:30    

merci ITM
 
tiens, g un pote développeur qui me dit de mettre void main{} aussi alors que mon prof m'a dit que ct pas nécessaire
 
 
je suis perdu :??:


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:48:30   

Reply

Marsh Posté le 17-04-2002 à 17:50:52    

Mon compilo a jété ton prog, alors j'ai du le mettre!
de toute facon, ca coute pas grand chose de le mettre et c'est plus propre.

Reply

Marsh Posté le 17-04-2002 à 17:54:43    

gcc me dit que le type renvoyé par MAIN n'est pas un entier !!


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 17:56:57    

toute fonction (donc main() aussi) doit renvoyer un type. main() étant le point d'entrée de ton programme, il faut qu'il se conforme à la syntaxe standard : int main(int argc, char** argv) et qu'il renvoie un code de sortie à la fin : par ex return 0;
 
et quand tu ne spécifies rien, comme dans ton premier exemple, 'int' est sous-entendu.

Reply

Marsh Posté le 17-04-2002 à 17:57:27    

en compilant quelle version? La tienne?

Reply

Marsh Posté le 17-04-2002 à 17:59:09    

non, la tienne
 
 
d'ailleurs tu m'as changé 11./2 en 11/.2      vilain :p:p  :D:D


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 18:04:13    

ah ouais, c'est bizarre...
mets ça alors:
---------------------
int main() {
  ...
  ...
  return 1;
}
-----------------------
Ca devrait plus faire de warnings
Au fait, je voulais faire 11/2. ;)
Sinon, le coup du point, c'est que j'ai lu je sais plus trop où que c'est le deuxième membre qui determine le type du resultat. Je sais pas trop si il y a une diference de type entre:
int/float
et  
float/int
 
Mais bon... C'est pas bien grave, hein?

 

[jfdsdjhfuetppo]--Message édité par ITM--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 18:11:20    

non, pas entre 11/2. et 11./2   en effet ;)


---------------
Ma Carrière de Joueur : 114 pages, 25 ans, 1 PDF
Reply

Marsh Posté le 17-04-2002 à 20:05:46    

ITM a écrit a écrit :

ah ouais, c'est bizarre...
mets ça alors:
---------------------
int main() {
  ...
  ...
  return 1;
}
-----------------------
Ca devrait plus faire de warnings




 
ca fait en effet plus de warning, mais ca indique au shell que le programme s'est terminé en erreur ... pas terrible non ?
un bon vieux return 0 est plus approprié

Reply

Marsh Posté le 17-04-2002 à 20:28:09    

D'accord, je ne me suis jamais trop préoccupé de la sortie definitive du programme auparavant ;)

Reply

Sujets relatifs:

Leave a Replay

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