Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1140 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [sous débutant] problème avec prg (résolut )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sous débutant] problème avec prg (résolut )

n°277541
beber_bis
Posté le 30-12-2002 à 16:27:53  profilanswer
 

voici mon programme(suite de fibonacci):
#include <stdio.h>
main()
{
int i,a;
int t[100];
t[0]=1;
t[1]=1;
for(i=2;i<100;i++)
{
t[i]=t[i-1]+t[i-2];
printf("%d\n",t[i]);
}
scanf("%d",a);
}
 
après l' avoir compillé sans érreurs :) voici ce qu'il m' affiche:
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
-1323752223
512559680
-811192543
-298632863
-1109825406
-1408458269
1776683621
368225352
2144908973
-1781832971
363076002
-1418756969
-1055680967
1820529360
764848393
-1709589543
-944741150
1640636603
695895453
-1958435240
-1262539787
1073992269
-188547518
885444751
696897233
1582341984
-2015728079
-433386095
1845853122
1412467027
-1036647147
375819880
-660827267
-285007387
-945834654
-1230842041
2118290601
887448560
-1289228135
-401779575
-1691007710
-2092787285
511172301
-1581614984
-1070442683
1642909629
572466946
-2079590721
-1507123775
708252800
-798870975
-90618175
-889489150
-980107325
 
Et c'est ça le problème  :??: , j'ai des nombres négatif qui apparaissent alors que dans la suite de fibonacci c'est pas possible.
suite de fibonacci :
F1 = F2 = 1  
Fi = Fi - 1 + Fi - 2 pour i > 2.
 
  si qu'elle qu'un pouvant m'aider moi pauvre débutant, ce serait vraiment sympa.


Message édité par beber_bis le 14-01-2003 à 11:32:42
mood
Publicité
Posté le 30-12-2002 à 16:27:53  profilanswer
 

n°277549
western
AJMM
Posté le 30-12-2002 à 16:48:28  profilanswer
 

Normal, tes résultats,
le Xième élément de la suite de Fibonnachi depasse largement les capacités d'un simple int de C/C++ d'où une opération modulo MAX_INT..., essaie avec un unsigned long

n°277553
beber_bis
Posté le 30-12-2002 à 17:00:42  profilanswer
 

J'ai essayez avec unsigned long, mais ce me donne le même résultat. :cry:

n°277645
beber_bis
Posté le 30-12-2002 à 20:14:46  profilanswer
 

svp plait aidez moi? :sarcastic:

n°277649
mrbebert
Posté le 30-12-2002 à 20:19:19  profilanswer
 

Le problème, c'est que tu utilise des nombres qui dépassent la capacité d'un entier 32 bits. Il faudrait utiliser des entiers 64 bits (je sais pas si c'est possible sur des procs 32 bits), ou définir toi même une structure (et les opérations qui vont avec) permettant de stocker ces entiers.

n°277650
Profil sup​primé
Posté le 30-12-2002 à 20:19:51  answer
 

hubert? :D

n°277651
Profil sup​primé
Posté le 30-12-2002 à 20:20:56  answer
 

ya rien à faire
si tu veux arriver à 100, tu te tates, ou tu fais un truc du genre utiliser deux variables pour afficher un nb

n°277665
beber_bis
Posté le 30-12-2002 à 20:36:55  profilanswer
 

SirJeannot a écrit :

ya rien à faire
si tu veux arriver à 100, tu te tates, ou tu fais un truc du genre utiliser deux variables pour afficher un nb


tu veut dire quoi par la ALAIN  :??:

n°277667
Profil sup​primé
Posté le 30-12-2002 à 20:40:06  answer
 

ta gueule :D

n°277670
Giz
Posté le 30-12-2002 à 20:42:54  profilanswer
 

les doubles est le type qui accepte les plus grand nombre je crois, format : "%lf"

mood
Publicité
Posté le 30-12-2002 à 20:42:54  profilanswer
 

n°277672
Profil sup​primé
Posté le 30-12-2002 à 20:43:45  answer
 

par ex
a et b
a=10 et b=25
en combinant les deux, tu peux faire
1025
c'est plus rapide à expliquer avec un exemple :D

n°277674
beber_bis
Posté le 30-12-2002 à 20:44:55  profilanswer
 

Bon tu peut me répondre. :ange:  
Allez joue pas ton radin, dis moi comment faire ou est ce que tu ne le sait pas

n°277681
beber_bis
Posté le 30-12-2002 à 20:49:28  profilanswer
 

je vais essayer tout ça.
Merçi
 :sol:

n°277694
beber_bis
Posté le 30-12-2002 à 21:42:56  profilanswer
 

Merci Giz j'ai essayer avec les "double"(%lf) et ça a marcher :D ,
que suis-je bète c'était si simple.
voila le résultat si ça vous interresse :
 
2.000000
3.000000
5.000000
8.000000
13.000000
21.000000
34.000000
55.000000
89.000000
144.000000
233.000000
377.000000
610.000000
987.000000
1597.000000
2584.000000
4181.000000
6765.000000
10946.000000
17711.000000
28657.000000
46368.000000
75025.000000
121393.000000
196418.000000
317811.000000
514229.000000
832040.000000
1346269.000000
2178309.000000
3524578.000000
5702887.000000
9227465.000000
14930352.000000
24157817.000000
39088169.000000
63245986.000000
102334155.000000
165580141.000000
267914296.000000
433494437.000000
701408733.000000
1134903170.000000
1836311903.000000
2971215073.000000
4807526976.000000
7778742049.000000
12586269025.000000
20365011074.000000
32951280099.000000
53316291173.000000
86267571272.000000
139583862445.000000
225851433717.000000
365435296162.000000
591286729879.000000
956722026041.000000
1548008755920.000000
2504730781961.000000
4052739537881.000000
6557470319842.000000
10610209857723.000000
17167680177565.000000
27777890035288.000000
44945570212853.000000
72723460248141.000000
117669030460994.000000
190392490709135.000000
308061521170129.000000
498454011879264.000000
806515533049393.000000
1304969544928657.000000
2111485077978050.000000
3416454622906707.000000
5527939700884757.000000
8944394323791464.000000
14472334024676220.000000
23416728348467684.000000
37889062373143904.000000
61305790721611584.000000
99194853094755488.000000
160500643816367070.000000
259695496911122560.000000
420196140727489660.000000
679891637638612220.000000
1100087778366101900.000000
1779979416004714000.000000
2880067194370816000.000000
4660046610375530500.000000
7540113804746346500.000000
12200160415121877000.000000
19740274219868226000.000000
31940434634990100000.000000
51680708854858326000.000000
83621143489848426000.000000
135301852344706760000.000000
218922995834555200000.000000
354224848179262000000.000000
 
 
PS : SirYeannot j'ai finis le programme et le tient il avance.
 

n°277714
xav14
Posté le 30-12-2002 à 23:21:04  profilanswer
 

beber_bis a écrit :

Merci Giz j'ai essayer avec les "double"(%lf) et ça a marcher :D ,
que suis-je bète c'était si simple.
voila le résultat si ça vous interresse :
 
PS : SirYeannot j'ai finis le programme et le tient il avance.
 
 


 
c'est un peu dommage de travailler avec des flottants alors que ce ne sont que des entiers :p

n°278005
Profil sup​primé
Posté le 01-01-2003 à 14:57:58  answer
 

j'ai fini, mais j'aimerai bien mettre l'affichage en X11 des points [:spamafote]

n°278006
Profil sup​primé
Posté le 01-01-2003 à 15:02:31  answer
 

xav14 a écrit :


 
c'est un peu dommage de travailler avec des flottants alors que ce ne sont que des entiers :p  

du moment que ca marche
cai des projets info à 2 sous ...  :wahoo:

n°278194
Musaran
Cerveaulté
Posté le 02-01-2003 à 01:34:33  profilanswer
 

Tu es conscient que les doubles font des aproximations dans les grands nombres ?
Témoin les suites de 0 après les 15 chiffre significatifs.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°278563
beber_bis
Posté le 02-01-2003 à 23:04:45  profilanswer
 

Musaran a écrit :

Tu es conscient que les doubles font des aproximations dans les grands nombres ?
Témoin les suites de 0 après les 15 chiffre significatifs.


 
oui, c'est vrai mais mon prg ne marche qu'avec cette variable.

n°278579
Kristoph
Posté le 02-01-2003 à 23:29:12  profilanswer
 

Simple, pour representer le 100 eme nombre de la suite de fibonaci, il te faut environ 69 bits de precision. Donc il te faut travailler sur des int128.
 
Evidemment, si les int128 existaient deja ce serait plus facile :D
 
Par contre, ton programme ne marche pas car il ne calcule pas un resultat exacte qui doit etre 354224848179261915075 pour 100 ( ou 99 je sais plus ). La tu accumulles de plus en plus d'erreurs de calcul.


Message édité par Kristoph le 02-01-2003 à 23:30:51
n°278590
LeGreg
Posté le 02-01-2003 à 23:33:43  profilanswer
 

beber_bis a écrit :


 
oui, c'est vrai mais mon prg ne marche qu'avec cette variable.


 
tu voulais dire qu'il ne marche pas :)
 
leGreg


---------------
voxel terrain render engine | animation mentor
n°278591
HappyHarry
Posté le 02-01-2003 à 23:34:55  profilanswer
 

gmp ?

n°278602
LeGreg
Posté le 02-01-2003 à 23:51:13  profilanswer
 


 
le jeu ce serait de deviner a partir de quel rang
son programme ne donne plus la bonne valeur.
 
Evidemment on peut ecrire un programme qui ecrit les bonnes valeurs et comparer mais c'est trop facile :)
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°278611
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 03-01-2003 à 00:05:11  profilanswer
 

je sais vous m'attendiez tous... :whistle:  
 
en C ANSI, le type de retour des fonctions n'est pas implicite comme en K&R.
 
donc void main()
 
ou beaucoup mieux
 
int main()
{
  return 0; // <=> EXIT_SUCCESS souvent
}
 
quelqu'un a vu le scanf("%d",a) ?
 
scanf("%d",&a);
 
 
bonus
 
 
float => scanf("%f" ), printf("%f" )
double => scanf("%lf" ), printf("%f" )
long double => scanf("%Lf" ), printf("%Lf" )
 


Message édité par Taz@PPC le 03-01-2003 à 00:10:13

---------------
du bon usage de rand [C] / [C++]
n°285827
beber_bis
Posté le 14-01-2003 à 11:28:38  profilanswer
 

merci a tous mon probleme est réglée :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [sous débutant] problème avec prg (résolut )

 

Sujets relatifs
[VISUAL C++ 6]Probleme de try .. catchj'ai un probleme bizarre avec mon programme qui lit dans un fichier
[JAVASCRIPT] Popup en JS, tout petit probleme: pliz help[PHP&SQL] Problème avec php-forge2
[SQL Server] Probleme MS SQL Server sous Win XPproblème avec la commande eval [shell de Bourne]
Problème d'upload : getimagesize()[PHP&SQL] Problème avec php-forge2
listing des carractères qui posent probleme!Problème Quickreport et DBExpress
Plus de sujets relatifs à : [sous débutant] problème avec prg (résolut )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR