bonjour je doit afficher par ordre décroissant 3 entiers quelconques entrés au clavier.
Comment je pourait effectuer ca ? car pour le moment je n'ai appris que les condition if , else ect... Merci d'avance
Version imprimable
bonjour je doit afficher par ordre décroissant 3 entiers quelconques entrés au clavier.
Comment je pourait effectuer ca ? car pour le moment je n'ai appris que les condition if , else ect... Merci d'avance
Bonjour,
On ne fera pas l'exercice à ta place.
Pour commencer, trouve l'algo (en français, ou en pseudo-code) qui résoudra le problème. Généralement, en listant les actions pour résoudre le problème "à la main", on peut trouver un premier algo.
Quand tu l'auras trouvé, donnes-le nous, pour qu'on voit si tu pars dans la bonne direction, et qu'on puisse t'aider le cas échéant.
Ensuite, tu pourras coder cet algo.
Ca s'appelle faire un tri. Tu as vu les boucles ?Citation:
Envoyé par conceicao
Il existe la fonction qsort si besoin, mais j'imagine que toi on te demande de faire ton propre algorithme de tri, probablement bulles ou insertion ( ce sont les plus basiques ).
A+
dans la mesure ou il doit trier TROIS valeurs avec des if et des else, allez peut etre pas le pourir avec vos tris a bulle..
Et pour répondre a la question, si quand t'avais appris les multiplications, a chaque fois qu'on te demandais en cours "multiplie ces trois chiffres" t 'étais venu nous demander comment faire, tu ne saurais toujours pas compter.
C'est exactement la meme chose ici, si tu ne sais pas comparer trois entiers par toi meme , tu ne sauras jamais rien faire.
Il a dit qu'il avait déjà appris les if et les else.
Donc je pense qu'il est interessant de lui donner d'autres pistes, vu qu'il débute, au lieu de lui dire d'utiliser bêtement les if et les else :)
A+
les boucle j'ai pas encore vu , et je viens vous demander juste si c 'estpossible de le faire avec des conditions if else car je voix pas si c 'estvraiment possible.
Je vous ai pas demander de me faire mon programme mais de savoir si c'etait possible.
J'essaye de prendre l'avance sur les exercice que l'on m'a donner mais je pense que je n'ai pas encore vu la theorie alors si il faut utiliser des boubles
Bon, comme tu n'as pas l'air de vouloir trouver l'algo, je t'en donne un (sans doute pas le meilleur) :Citation:
Envoyé par conceicao
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 - nb1, nb2, nb3 sont des entiers. - mini, maxi, milieu sont des entiers. - saisir 3 entiers nb1, nb2, nb3. - mini := nb1 - si mini > nb2 alors mini := nb2 - si mini > nb3 alors mini := nb3 - maxi := nb1 - si maxi < nb2 alors maxi := nb2 - si maxi < nb3 alors maxi := nb3 - milieu := nb1 - si mini == nb1 ou maxi == nb1 alors milieu := nb2 - si mini == nb2 ou maxi == nb2 alors milieu := nb3 - afficher mini - afficher milieu - afficher maxi
Tout est fait avec des if else...
Salut,
Je vois que tu débutes vraiment, mais je tiens à te faire mes félicitations de vouloir prendre de l'avance sur ton cours, c'est une bonne démarche qui te sera bénéfique à l'avenir.
En général, les tests de type "if" sont le plus souvent utilisés pour des branchements dans ton programme. Ils concernent une prise de décision quand au déroulement du programme.
Il est vrai que si ton programme se limite à récupérer 3 entiers et tester leurs inégalité et ordre, le if peut donc constituer un test relatif à la décision que tu vas prendre dans ton programme, car il est très simple.
Cependant, en général, lorsque un grand nombre de tests doivent être effectués les uns à la suite des autres, on utilise plutot une structure switch. C'est comme un ensemble de if/else mais en plus lisible.
Dans les cas encore plus compliqués ( comme par exemple un tri sur des milliers d'enregistrements ) on voit bien qu'une structure switch ne nous sauvera pas. Il faut donc utiliser un ensemble de fonctions qui permettent d'atteindre l'objectif désiré.
Imaginons que dans ton cas, tu souhaites trier n chiffres, en fonction du nombre de chiffres que l'utilisateur entrera ( disons qu'à chaque passage, il va appuyer sur entrée pour valider son chiffre, et si il souhaite arrêter, il appuyera sur entrée sans rien entrer )
On voit bien qu'étant donné que tu ne connais pas le nombre d'élement à l'avance, tu ne peux pas coder un programme avec des structures if else ou avec un switch. Il faut donc tout d'abord stocker les informations dans un tableau ( tu le verras surement dans la suite de ton cours ) qui est une sorte de structure pouvant contenir des elements.
Ensuite, pour ordonner ce genre de tableaux, tu auras plusieurs choix:
:arrow: Parcourir ton tableau élément par élément, et utiliser un algorithme de tri. Le plus simple des algorithmes de tri est le suivant : le tri par insertion. Tu pourras trouver des définitions de cet algorithme sur le net. Il existe de nombreux algorithmes de tri, le plus performant étant le quicksort, dans la plupart des cas. C'est une bonne idée d'utiliser cette méthode quand on est en phase d'apprentissage, pour comprendre comment les algorithmes de tri fonctionnent en interne.
:arrow: Utiliser une fonction de la bibliothèque standard qui fait un tri. En l'occurence, la fonction standard est qsort, qui permet de trier les éléments d'un tableau si tu lui fournis une fonction de comparaison des éléments ( car sans fournir la fonction de comparaison, on ne saurait pas quelle méthode utiliser dans le cas de structures complexes ). C'est la meilleure façon de faire, car utiliser la librairie standard te permet de profiter du travail de personnes ayant déjà réfléchi à la question.
Bon j'espère que c'est un petit peu plus clair :) A+ et bon courage !
un grand merci pour ses explications , je comprend mieux l'utilisation de certaine technique appropriées.
Bonjour,
C'est un exercie qu'il doit faire, et, par principe, un exercie se fait en utilisant les techniques apprises en cours, ce qui permet de les assimiler (c'est du moins le but).Citation:
Envoyé par KiLVaiDeN
Lui indiquer autre chose risque plus de l'embêter que de l'aider.
+1Citation:
Envoyé par thewho
Il est vraisemblablement en tout début de cours; Si il peut comprendre ce qu'on lui a apprit ET avoir une notion de ce qui va arriver par la suite, il en profitera doublement.
Lui donner juste la solution à son problème en lui expliquant qu'avec un if il peut comparer des valeurs et repérer le min et le max, c'est sympa, mais ça ne l'avancera pas grandement dans son apprentissage du C.
Je pense qu'il aurait de toutes manières deviner comment le faire avec des if/else. Donc autant lui donner quelques pistes pour qu'il se documente, si il est curieux.
A+
En fait, le mieux, c'est de faire un algo et/ou un code en C, de nous le montrer, en demandant éventuellement ce qu'il est possible de faire pour l'améliorer ou l'optimiser...Citation:
Envoyé par KiLVaiDeN
Voila j'ai résolu le probléme , justement on vient de voir en cours les conditions logique (and , or , xor ,...)
A partir de la j'ai su faire le programme , merci pour votre aide et vos suggestion , il falait que j'attendre un peu tout compte fait lolll:mouarf: :mouarf:
Bonjour,
Je ne pense pas : si on t'a donné l'exercice avant d'avoir vu ces structures, c'est qu'il fallait le résoudre sans les utiliser.Citation:
Envoyé par conceicao