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

  FORUM HardWare.fr
  Programmation
  C

  [C] ah la la .... comment chercher la complication ... !

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

[C] ah la la .... comment chercher la complication ... !

n°867428
ze nerdz
gné ?
Posté le 07-10-2004 à 20:55:51  profilanswer
 

Bonjour a tous !
 
je vous explique mon probleme :
 
tout d abord le sujet qui a été donné :
"Ecrire un programme C permettant de claculer x^y avec x et y entiers positifs.
 a/ en utilisant une multiplication
 b/ en utilisant que l'addition"
 
Bon déja la premiere partie a été reussi sans probleme, d ailleur je vous donne ce que j ai fait :
 

Code :
  1. #include <stdio.h>
  2. int main(void){
  3. float x;
  4. float y;
  5. float a;
  6. float b;
  7. float r;
  8. printf("\nx?" );
  9. scanf("%f",&x);
  10. printf("\ny?" );
  11. scanf("%f",&y);
  12. r=1;
  13. for(b=1;b<=y;b++){
  14.     r=r*x;
  15. printf("%f puissance %f = %f",x,y,r);
  16.    
  17. }


 
mais voila que pour la deuxieme question je blocke ...Il me semble qu il faudrait faire une imbrication de deux boucles "for", mais apres de nombreux essais foireux, je me lance a l ecriture de ce message ... :D
 
je precise que c pour un cours de Base de Programmation, donc les boucles sont le max de ce qu on doit utiliser ... (pas de fonctions), en fait dans le meme style qu au dessus ...
 
pouvez vous m eclaircir ?
 
 :hello:  
 
merci d avance !

mood
Publicité
Posté le 07-10-2004 à 20:55:51  profilanswer
 

n°867431
Taz
bisounours-codeur
Posté le 07-10-2004 à 20:59:41  profilanswer
 

# printf("\nx?" );
# scanf("%f",&x);
 
 
-->
 
printf("x? " );
fflush(stdout);
scanf("%f",&x);
 
 
 
 
du reste tu prends ton cours et tu vois
 
 
for(INIT; TEST; POSTACTION)
  INSTRUCTION;
 
INSTRUCTION pouvant évidemment être une expression composée, un bloc
 
donc à la place tu mets un for
 
for( ... )
{
  for( ... )
  {  
  }
}

n°867435
ze nerdz
gné ?
Posté le 07-10-2004 à 21:02:13  profilanswer
 

Taz a écrit :

# printf("\nx?" );
# scanf("%f",&x);
 
 
-->
 
printf("x? " );
fflush(stdout);
scanf("%f",&x);
 
 
 
 
du reste tu prends ton cours et tu vois
 
 
for(INIT; TEST; POSTACTION)
  INSTRUCTION;
 
INSTRUCTION pouvant évidemment être une expression composée, un bloc
 
donc à la place tu mets un for
 
for( ... )
{
  for( ... )
  {  
  }
}


 
ce n est pas du tout un probleme de syntaxe, mais plutot un probleme de raisonnement ...
 
si vous voulez je vous mlontre ce que j ai fait mais qui ne marche pas ... :
 

Code :
  1. float x;
  2. float y;
  3. float a;
  4. float b;
  5. float r;
  6. printf("\nx?" );
  7. scanf("%f",&x);
  8. printf("\ny?" );
  9. scanf("%f",&y);
  10. for(b=1;b<=y;b++){
  11.     for(a=1;a<=x;a++){
  12.         r=r+x;
  13.     }
  14. }
  15. printf("%f puissance %f = %f",x,y,r);

n°867441
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:05:55  profilanswer
 

(1) faudrait faire une fonction)
2) applique le premier conseil que je t'ai donné.
3) c'est donc de l'algo et ça n'a rien à voir avec le C. prends un bout de papier et quand ça marchera sur papier, écris un programme

n°867448
ze nerdz
gné ?
Posté le 07-10-2004 à 21:08:48  profilanswer
 

1/ ce ne st pas possible
2/ le premier conseil ne serait pas recommandé par mon prof qui tiens absolumentà avoir cette entete
3/ alors a ce moment la parlons algo car je pense que le probleme vient de la

n°867452
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:10:25  profilanswer
 

ne viens plus demander conseil alors ..., quand tu comprendras pas pourquoi ça saute 1 scanf sur 2, t'iras voir ton prof.
 
3) oui hé ho, t'as quel âge ? on va quand même pas te prendre par la main pour faire n multiplications !

n°867455
ze nerdz
gné ?
Posté le 07-10-2004 à 21:12:51  profilanswer
 

Ne le prends pas mal ... :(
 
il n y a pas de scanf qui saute dans mon cas ...
 
et puis il me semble que le but d un forum c l entraide, car pour entende une réponse qui me dit va voir ton cours, ca devient completement HS ...

n°867456
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 21:14:01  profilanswer
 

lis la charte :sarcastic: ...

n°867457
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:14:11  profilanswer
 

bah ouais mais bon, faut pas abuser quand même : il te faut moins de temps pour redécouvrir comment élever un nombre à la puissance N que pour lire ce sujet.

n°867460
ze nerdz
gné ?
Posté le 07-10-2004 à 21:16:20  profilanswer
 

Je sais lire merci :
 
[0C] On ne fait pas le boulot à votre place.  
 
Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et n'obtiennent que très rarement de réponses.  
Les offres d'emploi et recrutements (même non rémunérés) ont plutôt leur place sur Emploi & Études.  
 
 
[0D] De la même manière, les demandes de résolutions d'exercices ne seront pas acceptées  
 
Du moins, s'il s'agit d'une demande de solution toute faite, sans effort manifeste du côté du demandeur. Cette décision a été prise étant donné le nombre croissant de ce type de demandes lors des périodes de reprise des cours ou d'approche des périodes d'examens.  
Merci aux membres du forum de ne pas donner des résolutions d'exercice lorsqu'il est clair que le demandeur n'a rien fait de son côté  
 
 
Je n ai pas demandé de solution, j ai demandé d ou pouvait venir le probleme ... donc je ne suis pas du tout hors Charte. Apperemment, ce n est pas vu comme ca ...


Message édité par ze nerdz le 07-10-2004 à 21:17:10
mood
Publicité
Posté le 07-10-2004 à 21:16:20  profilanswer
 

n°867461
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 21:16:59  profilanswer
 

bordel l'elevation à la puissance N on voit ca au COLLEGE ....

n°867464
ze nerdz
gné ?
Posté le 07-10-2004 à 21:18:52  profilanswer
 

Je demande a Joel F de bien vouloir relire le sujet du probleme. JE pense que tu comprendra tres bien que l elevationa la puissante n est pas le probleme qui m empeche de continuer, puisque j ai reussi a faire le programme par la multiplication.

n°867465
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:19:00  profilanswer
 

Joel F a écrit :

bordel l'elevation à la puissance N on voit ca au COLLEGE ....

non, primaire, quand on apprend le système métrique avec les histoires d'aires et de volumes

n°867467
ze nerdz
gné ?
Posté le 07-10-2004 à 21:21:23  profilanswer
 

Bon je vois que c est une conspiration eheh :D
 
Non mais sérieusement, si ce probleme vous semble trop facile pour donner une moindre piste, alors changez de topic, parce que sinon plus personne va vouloir donner un avis ... :D

n°867468
Mr Mala
Posté le 07-10-2004 à 21:21:44  profilanswer
 

papier .. crayon .. exemples .. compréhension ! .. réfléchir ! .. aïe ..
et si après avoir écrit la somme de 3^2 puis 3^3 , tu vois toujours pas, arrête l'info !
 
( merde, je me "tazifie" .. :D )


Message édité par Mr Mala le 07-10-2004 à 21:22:20
n°867473
ze nerdz
gné ?
Posté le 07-10-2004 à 21:24:03  profilanswer
 

Mr Mala a écrit :

papier .. crayon .. exemples .. compréhension ! .. réfléchir ! .. aïe ..
et si après avoir écrit la somme de 3^2 puis 3^3 , tu vois toujours pas, arrête l'info !
 
( merde, je me "tazifie" .. :D )


 
raahh ils se regroupent !!! :D
 
EN fait sur le papier ca me parait simple evidemment, mais du coup la traduction en C pose un serieux probleme pour cette question :(
 
Et puis je ne suis pas de mauvaise foi, puisque j ai reussi le premier, en l aillant fais de la meme maniere sur le papier (on a eu 3h de TD pour ca lol) :D
 
:hello:

n°867474
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:25:39  profilanswer
 

si c'est pas clair sur le papier, c'est pas clair dans ta tête, ça risque pas de l'être sur l'écran.
 
mon ton algo si t'y tiens

n°867481
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 21:34:00  profilanswer
 

ze nerdz a écrit :

raahh ils se regroupent !!! :D
 
EN fait sur le papier ca me parait simple evidemment


Lies, si ca te parait simple sur le papier et que t'arrives pas a le coder c'est que ta version papier marche pas :)  
 
Je te donne un indice: il te faut une valeur temporaire, je vois pas comment faire sans


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867484
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:35:08  profilanswer
 

commence pas à le stresser avec des détails d'implémentation alors qu'il a pas encore l'algo

n°867489
ze nerdz
gné ?
Posté le 07-10-2004 à 21:36:59  profilanswer
 

Il est vrai, et je m en était rendu compte, l algo ne passe pas sur le papier.
J ai pourtant utilisé des variables intermédiaires, deux boucles for imbriquée, masi il doit y avoir une erreur qq part que je ne voi pas ...
 
Donc merci pour vos avis !

n°867495
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:40:10  profilanswer
 

y a pas besoin de boucle imbriqué pour faire une puissance bordel :o

n°867496
ze nerdz
gné ?
Posté le 07-10-2004 à 21:41:59  profilanswer
 

Bon j essaye de reprendre depuis le début :
 
x^n = x^(n-1) * x =  
x^(n-1)+x^(n-1)+x^(n-1)+ ...  le tout x fois
 
jusque la je pense etre bien parti.
la premier décomposition, je l ai bien reussi pour la question a, mais la question b, je ne vois plus trop comment l interpreter ...:(

n°867497
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:42:35  profilanswer
 

c'est quoi cette addition ? elle se matérialise tout seule ?

n°867498
ze nerdz
gné ?
Posté le 07-10-2004 à 21:43:16  profilanswer
 

Taz a écrit :

y a pas besoin de boucle imbriqué pour faire une puissance bordel :o


je suis tout a fait d accord avec toi, c pour ca que la premiere question est sans difficulté, et se fiat avec une boucle "for". PAr contre la deuxieme question, ils demandent une deuxieme décomposition avec uniquement l addition, sans aucune multiplication ..et la je blocke

n°867499
ze nerdz
gné ?
Posté le 07-10-2004 à 21:43:44  profilanswer
 

Taz a écrit :

c'est quoi cette addition ? elle se matérialise tout seule ?


et bien il me semble qu il faut une boucle pour la mettre en place non ?

n°867505
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:47:06  profilanswer
 

oui, en itératif, une simple boucle suffit, mais ça n'explique toujours pas d'ou tu sors cette multiplication ...

n°867506
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 21:48:11  profilanswer
 

Taz a écrit :

y a pas besoin de boucle imbriqué pour faire une puissance bordel :o


heuuu je pense que si dans le cas de la puissance à coup d'additions
 
une boucle pour générer la puissance à partir de la multiplication
et une pour générer la multiplication à partir de l'addition
 
non?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867508
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:49:40  profilanswer
 

non. c'est quoi ces conneries de réinventer la mutliplication ?
 
quand tu fais 2**2 tu fais 2x2, tu fais pas d'addition dans ta tête, je vois pas pourquoi en 2004 tu ferais un programmes qui sait faire des des additions ...

n°867509
ze nerdz
gné ?
Posté le 07-10-2004 à 21:50:11  profilanswer
 

Masklinn a écrit :

heuuu je pense que si dans le cas de la puissance à coup d'additions
 
une boucle pour générer la puissance à partir de la multiplication
et une pour générer la multiplication à partir de l'addition
 
non?


oui voila c exactement ce que je pense. Je pense que Taz n a pas compris qu ils demandaient expres de se compliquer en décomposant completement, en n autorisant que l addition, car evidemment, si tu regarde le premier post, le programme est deja terminé, Mais c du scolaire qu ils veulent, pas de l efficace  :pt1cable:

n°867510
ze nerdz
gné ?
Posté le 07-10-2004 à 21:51:33  profilanswer
 

Taz a écrit :

non. c'est quoi ces conneries de réinventer la mutliplication ?
 
quand tu fais 2**2 tu fais 2x2, tu fais pas d'addition dans ta tête, je vois pas pourquoi en 2004 tu ferais un programmes qui sait faire des des additions ...


que veux tu, je n ai pas le choix, un prof demande ca, a mon avis c pour bien comprendre ce qu on fait ... pourkoi d apres toi j ai appelé le  topic  : "comment chercher la complication"
 :D   :pt1cable:  
 :hello:

n°867513
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:52:33  profilanswer
 

et alors ? dans ce cas là c'est encore plus facile : le programme est clairement décomposable. tu écris ta puissance en utilisant la multiplication. tu valide. et ensuite tu remplaces tes multiplication par des additions.

n°867515
ze nerdz
gné ?
Posté le 07-10-2004 à 21:53:49  profilanswer
 

ra la la je ne vois pas qu est ce qui cloche dans mon raisonnement :  

Code :
  1. int x,y,r;
  2. demander("x",x);
  3. demander("y",y);
  4. for(b=1;b<=y;b++){
  5.     for(a=1;a<=x;a++){
  6.         r=r+x;
  7.     } 
  8. }


 
c de l algo je precise

n°867517
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 21:54:25  profilanswer
 

Taz a écrit :

et alors ? dans ce cas là c'est encore plus facile : le programme est clairement décomposable. tu écris ta puissance en utilisant la multiplication. tu valide. et ensuite tu remplaces tes multiplication par des additions.


ben oui [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867518
ze nerdz
gné ?
Posté le 07-10-2004 à 21:54:54  profilanswer
 

Taz a écrit :

et alors ? dans ce cas là c'est encore plus facile : le programme est clairement décomposable. tu écris ta puissance en utilisant la multiplication. tu valide. et ensuite tu remplaces tes multiplication par des additions.


Et bien en fait c justement le remplacement de la multiplication par des additions qui pose probleme, car il faut une autre boucle, puisqu on ne connait ni x ni y, il est demandé a l utilisateur ... :(  :pt1cable:

n°867521
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:56:56  profilanswer
 

non, c'est l'étape la plus simple. c'est juste pas clair dans ta tête. fait comme on te dis. fais un truc qui marche avec des multiplications qui fonctionnent d'abord.

n°867523
ze nerdz
gné ?
Posté le 07-10-2004 à 21:58:49  profilanswer
 

eheh, encore une fois tu aurais du m écouter depuis le début : lis le premier post : le programme avec les multiplication est déja terminé et il marche !
 
et je sais egalement faire une boucle qui "décompose" un produit en somme, par contre, je n arrive pas a l imbriquer dans la boucle for !

n°867525
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:59:40  profilanswer
 

ah bon ? ben il est où alors ?

n°867526
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 22:00:35  profilanswer
 

ze nerdz a écrit :

ra la la je ne vois pas qu est ce qui cloche dans mon raisonnement :  

Code :
  1. int x,y,r;
  2. demander("x",x);
  3. demander("y",y);
  4. for(b=1;b<=y;b++){
  5.     for(a=1;a<=x;a++){
  6.         r=r+x;
  7.     } 
  8. }


 
c de l algo je precise


déroule la boucle pour x=2 et y=8
 
b=1
a=1
r=r+2=2
a=2
r=r+2=4
b=2
a=1
r=r+2=6
a=2
r=r+2=8
// on en est à 2^2=8, pas classe
b=3
a=1
r=r+2=10
a=2
r=r+2=12
// 2^3 = 12 yay
b=4
a=1
r=r+2=14
a=2
r=r+2=16
// 2^4 = 16, ca marche!
b=5
a=1
r=r+2=18
a=2
r=r+2=20
// 2^5 = 20?? hum hum
 
en fait, tu génères une multiplication pour le premier terme, mais c'est tout, tu ne multiplies rien du tout tu fais des additions en chaine, tu fais non pas x^y mais x*x*y (a vue d'oeuil)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867528
noldor
Rockn'roll
Posté le 07-10-2004 à 22:01:40  profilanswer
 

ze nerdz a écrit :

eheh, encore une fois tu aurais du m écouter depuis le début : lis le premier post : le programme avec les multiplication est déja terminé et il marche !
 
et je sais egalement faire une boucle qui "décompose" un produit en somme, par contre, je n arrive pas a l imbriquer dans la boucle for !

comme le dit Taz, si tu sais faire des multiplications avec des additions, et si tu sais faire des puissances avec des multiplications, y a pas de raiso que tu saches pas faire des puissances avec des additions

n°867529
ze nerdz
gné ?
Posté le 07-10-2004 à 22:03:42  profilanswer
 

Taz a écrit :

ah bon ? ben il est où alors ?


C la zone code du premier post

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

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

  [C] ah la la .... comment chercher la complication ... !

 

Sujets relatifs
Cmnt aller chercher une valeur dans des champs générés aleatoirement ?[algo/proba] je chercher une fonction de probabilite
chercher code nouvelles par phpChercher une chaine dans un tableau PHP
[expression réguliére] Comment chercher toutes les chaines sans espace[PHP] Chercher un caractère dans une chaine... Quel fonction ?
chercher une chaine de caractere dans un fichier texteVB.NET (smart device application) [arrêtez de chercher]
chercher valeur...chercher la position d'un noeuds?
Plus de sujets relatifs à : [C] ah la la .... comment chercher la complication ... !


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