PGCD + besoin d'un coup de main Basic lol

PGCD + besoin d'un coup de main Basic lol - C - Programmation

Marsh Posté le 19-05-2006 à 15:43:17    

Code :
  1. #include <string.h>
  2.    #include <stdio.h>
  3.    int main (void)
  4.    {
  5. int h;
  6. int *ptdrh = &h;
  7. int div;
  8. int *ptdrdiv = &div;
  9. int y;
  10. int *ptdry = &y;
  11. int r=1;
  12. printf("\nEntrez Valeur 1 : " );
  13. scanf("%d",&h);
  14. printf("\nEntrez Valeur 2 : " );
  15. scanf("%d",&div);
  16. getch();
  17. printf("\n\nV1 = %d et V2 = %d",h,div);
  18. do{
  19.     if (h>div)
  20.         {
  21.             *ptdry = h-h/div*div;
  22.             printf("\n\n1 %d\n\n",*ptdry);
  23.         }
  24.     else
  25.         {
  26.             *ptdry=div-div/h*h;
  27.             printf("\n\n2 %d\n\n",y);
  28.         }
  29. if (*ptdry==0)
  30.     {
  31.         printf("SA MARCHE le PGCD EST %d",y);
  32.         r=1;
  33.     }
  34. else
  35.     {
  36.         *ptdrdiv=*ptdry;
  37.         *ptdrh=*ptdrdiv;
  38.     }
  39. getch();
  40. }while (r!=1);
  41.       getch();
  42.       return 0;
  43.    }


 
 
Je suis nul et plus specialement en pointeur je voudrais echanger les valeurs ...
si qielqun a des conseils ...
 
merci d'avance !!!!!

Message cité 1 fois
Message édité par magiclazy le 21-05-2006 à 19:39:24
Reply

Marsh Posté le 19-05-2006 à 15:43:17   

Reply

Marsh Posté le 19-05-2006 à 16:22:25    

magiclazy a écrit :

Je suis nul et plus specialement en pointeur je voudrais echanger les valeurs ...
si qielqun a des conseils ...
 
merci d'avance !!!!!


 
Echanger les valeurs entre quoi et quoi ???
 
 
PS: "h-h/div*div" peut s'écrire plus simplement "h % div"


Message édité par Sve@r le 19-05-2006 à 16:23:08

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 19-05-2006 à 16:23:32    

merci beaucoup
 
je voudrais echanger div et y  et  h et div

Reply

Marsh Posté le 19-05-2006 à 16:24:00    

http://cermics.enpc.fr/polys/info1/main/node71.html


Message édité par _darkalt3_ le 19-05-2006 à 16:26:13
Reply

Marsh Posté le 19-05-2006 à 16:32:50    

enfaite je suis pas sur d'avoir vraiment besoin de pointeur .... non ?

Reply

Marsh Posté le 19-05-2006 à 16:33:52    

magiclazy a écrit :

enfaite en fait, je ne suis pas sur d'avoir vraiment besoin de pointeur .... non ?


 
 [:aloy]  
 
t'as lu la doc ?


Message édité par _darkalt3_ le 19-05-2006 à 16:34:34
Reply

Marsh Posté le 19-05-2006 à 16:36:02    

oui, maintenant j'éssaye de la comprendre ..... :)

Reply

Marsh Posté le 19-05-2006 à 16:37:06    

mais d'après ce que je comprends ce que j'ai fais devrais marché ? non
 
ou bien faire plutot :
 
 
*ptdrdiv=y;
*ptdrh=div;
 
??

Reply

Marsh Posté le 19-05-2006 à 18:22:19    

magiclazy a écrit :

enfaite je suis pas sur d'avoir vraiment besoin de pointeur .... non ?


Tout à fait. Dans ton source, tu as des variables et des pointeurs qui pointent dessus. Les seconds sont effectivement inutiles mais je présume que tu les as mis pour t'exercer...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 21-05-2006 à 11:33:38    

Code :
  1. #include <string.h>
  2.    #include <stdio.h>
  3.    int main (void)
  4.    {
  5. int h;
  6. int div;
  7. int y;
  8. int r=0;
  9. printf("\nEntrez Valeur 1 : " );
  10. scanf("%d",&h);
  11. printf("\nEntrez Valeur 2 : " );
  12. scanf("%d",&div);
  13. getch();
  14. printf("\n\nV1 = %d et V2 = %d",h,div);
  15. do{
  16. /*
  17.     if (h>div)
  18.         {
  19.             y = h-h/div*div;
  20.             printf("\n\n1 %d\n\n",y);
  21.         }
  22.     else
  23.         {
  24.             y=div-div/h*h;
  25.             printf("\n\n2 %d\n\n",y);
  26.         }
  27. */
  28. y = h%div;
  29. printf("\n\nresu cal %d\n\n",div);
  30. if (y==0)
  31.     {
  32.         printf("SA MARCHE le PGCD EST %d",y);
  33.         r=1;
  34.     }
  35. else
  36.     {
  37.         div=y;
  38.         h=div;
  39.         printf("else" );
  40.     }
  41. getch();
  42. }while (r!=1);
  43.       printf("sortie de DO" );
  44.       getch();
  45.       return 0;
  46.    }


 
sa marche toujours pas sa bug au niveau de l'inversion des valeurs je ne comprends pas !!

Message cité 1 fois
Message édité par magiclazy le 21-05-2006 à 13:41:21
Reply

Marsh Posté le 21-05-2006 à 11:33:38   

Reply

Marsh Posté le 21-05-2006 à 13:18:30    

magiclazy a écrit :

Code :
  1. if (y=0)



[:ddr555][:ddr555][:ddr555]


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 21-05-2006 à 13:41:52    

.... mieux comme sa ??
ou quelquechose m'échappe ?

Reply

Marsh Posté le 21-05-2006 à 16:06:05    

j'abandonnne
 
mon projet etait de calculer le PGCD (plus grand diviseur commun de 2 nbres)
et je n'y arrive pas car je pense il est imposssible de prévoir le nombre d'operations tant avec la division euclidienne que avec la methode des soustraction si vous trouvez bravo !!
++

Reply

Marsh Posté le 21-05-2006 à 16:10:38    

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.    int main (void)
  6.    {
  7. int h;
  8. int div;
  9. int y;
  10. int r=0;
  11. int p=0;
  12. int in;
  13. int rt='a';
  14. printf("\nEntrez Valeur 1 : " );
  15. scanf("%d",&h);
  16. printf("\nEntrez Valeur 2 : " );
  17. scanf("%d",&div);
  18. printf("\n\nV1 = %d et V2 = %d",h,div);
  19. getch();
  20. do{
  21.     y = h%div;
  22.         if (y==0)
  23.             {
  24.                 printf("\n\n\nLE PGCD EST %d",div);
  25.                 scanf("%c",&rt);
  26.                 r=1;
  27.             }
  28.         else
  29.             {
  30.                 h=div;
  31.                 div=y;
  32.                 rt='y';
  33.             }
  34. }while (r!=1);
  35. return 0;
  36.    }


 
 
SA MARCHE j'ai juste repris le raisonnement et l'inversement des valeurs devaient se faire dans l'autre sens YOUPI TROP CONTENT !!
 
ps:quelqun saurai le retranscrire en langage CASIO ??

Message cité 1 fois
Message édité par magiclazy le 21-05-2006 à 17:08:02
Reply

Marsh Posté le 21-05-2006 à 17:12:26    

je crois que c'est du basic alors si quequn sait faire la transcription sa serait vraiment super coolll !!!
 
merci d'avance

Reply

Marsh Posté le 21-05-2006 à 19:45:25    

[:pingouino]
 
si t'as compris l'algo, ca devrait aller tout seul ...

Reply

Marsh Posté le 21-05-2006 à 19:51:07    

ha bon je regarde un peu le basic mais déjà que je suis extra debutant en C alors ...
 
j'éssaye et je post ça !
dois-je déplacer le topic ?
 
 
ps:j'arrive pas a introduire un 2éme DO..while pour demander si la personne veut quitter .. ou pas ... j'ai des bugs : par exemple sa marche une fois et apres sa ne me demande plus ou sa execute 2fois la boucle puis sa me demande ..
 
[EDIT] shame on me !!


Message édité par magiclazy le 21-05-2006 à 19:56:23
Reply

Marsh Posté le 21-05-2006 à 19:54:54    

ça, pas sa :fou:

Reply

Marsh Posté le 21-05-2006 à 19:58:35    

j'ai installé "EasyR@pid"  
 
et je suis allé sur ce site  
 
http://www1.france-jeunes.net/lire [...] s-5187.htm
 
 
[sa avance si vous avez des petits bout de code vite fait sa m'aiderais bien merci bcp l'idéal serait que je l'ai pour demain je sens que la nuit va etre longue ^^]

Message cité 1 fois
Message édité par magiclazy le 21-05-2006 à 20:28:14
Reply

Marsh Posté le 21-05-2006 à 20:38:22    

magiclazy a écrit :

[ça avance si vous avez des petits bout de code vite fait, ça m'aiderais bien merci bcp l'idéal serait que je l'ai pour demain je sens que la nuit va etre longue ^^]


 
ça <-> cela; voir 6.3.2 (non pas de la norme, mais de mon cahier de CM1  :whistle: )

Reply

Marsh Posté le 21-05-2006 à 20:50:20    

:whistle:

Reply

Marsh Posté le 21-05-2006 à 21:06:31    

Code :
  1. INPUT "Entrez Valeur 1"; h#
  2. INPUT "Entrez Valeur 2"; div#
  3. PRINT  "V1 = "& h &" et V2 = "& div &""


 
je bloque là ...  :D  :sweat:  :whistle:  

Reply

Marsh Posté le 21-05-2006 à 21:19:05    

RRRrrr je crois que je fais fausse route !!!
c'est pas du BASIC sur es CASIO (graph 65)
si quelqun sait (et pas ç :D) !!!!!!
 
MERCI d'avance

Reply

Marsh Posté le 21-05-2006 à 21:20:27    

http://www.casioland.net/funct_bas [...] B1=Valider
http://www.casioland.net/tutoriaux.php?idTuto=1
 
:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D
je vais mourir à tout traduire si quelqun si connait j'apprécirais un coup de main !!!!


Message édité par magiclazy le 21-05-2006 à 21:23:23
Reply

Marsh Posté le 21-05-2006 à 21:43:04    

je laisse tombé  
 
1) aucune repose ...
2) il faudrat tout taper et c vraiment trop dur sans cable
 
voila merci ...

Reply

Marsh Posté le 21-05-2006 à 22:07:25    

magiclazy a écrit :

Code :
  1. do{
  2.     y = h%div;
  3.         if (y==0)
  4.             {
  5.                 printf("\n\n\nLE PGCD EST %d",div);
  6.                 scanf("%c",&rt);
  7.                 r=1;
  8.             }
  9.         else
  10.             {
  11.                 h=div;
  12.                 div=y;
  13.                 rt='y';
  14.             }
  15. }while (r!=1);


 
 
SA MARCHE j'ai juste repris le raisonnement et l'inversement des valeurs devaient se faire dans l'autre sens YOUPI TROP CONTENT !!


Bon, c'est l'heure de la sanction...
 

Code :
  1. while ((y=h%div) != 0)
  2. {
  3.     h=div;
  4.     div=y;
  5. }
  6. printf("\n\n\nLE PGCD EST %d",div);


Ca casse non ? :sol:  
 

magiclazy a écrit :

ps:quelqun saurai le retranscrire en langage CASIO ??


Ici on fait du C !!! :non:  


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 21-05-2006 à 22:31:18    

magiclazy a écrit :

1) aucune repose ...


 
ben oui, programmer n'est pas de tout repose [:spamafote]

Reply

Marsh Posté le 22-05-2006 à 12:09:15    

Sve@r
 
Effectivement sa casse .... merci de la correction ^^
 
darkalt3
 
^^ c'etait le week-end enfin bref pas grave
allé ++

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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