je suis une brêle [C] - Programmation
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]
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
Marsh Posté le 17-04-2002 à 17:41:15
printf("%f\n",n);
%f = float
%d = entier
-> printf("%d\n",n);
Marsh Posté le 17-04-2002 à 17:41:35
ReplyMarsh Posté le 17-04-2002 à 17:42:22
ReplyMarsh Posté le 17-04-2002 à 17:43:20
Hark > ce sont les points initiaux de la suite
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);
}
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
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.
Marsh Posté le 17-04-2002 à 17:54:43
gcc me dit que le type renvoyé par MAIN n'est pas un entier !!
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.
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
D
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]
Marsh Posté le 17-04-2002 à 18:11:20
non, pas entre 11/2. et 11./2 en effet
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é
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
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