Algorithme

Fermé
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010 - Modifié par Aerocool003 le 30/11/2010 à 21:49
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 - 1 déc. 2010 à 01:18
Bonjour,

J'ai besoin d'aide pour faire l'algo suivant:

soit un tableau d'entiers de n cases avec m éléments insérés (m<n), avec unicité de la valeur.Ecrivez un algorithme qui permet d'insérer un entier x au bon endroit.

Merci à ceux qui répondront

13 réponses

kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 872
30 nov. 2010 à 21:31
En quel langage ?
1
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 21:31
en c++
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
Modifié par Aerocool003 le 30/11/2010 à 21:43
quelqu'un s'y connait en c++ svp
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 21:43
de l'aide svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 21:47
personne ne s'y connait en algo
0
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 872
30 nov. 2010 à 22:01
Arrêtes de uper tout le temps ca ne sert à rien !!!
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
30 nov. 2010 à 21:54
Je suppose que les éléments du tableau sont déjà triés ou doivent être ajoutés dans le tableau de manière à ce que les éléments soient triés dans l'ordre croissant au fur et à mesure.

L'idée est de prendre ton entier x et de le comparer au premier élément de ton tableau. Si x est plus grand, regarder le prochain élément. Si x est plus petit, décaler tous les éléments subséquents d'une case à l'aide d'une permutation.

Pour la permutation, il pourrait être plus simple de commencer par le dernier élément et de le déplacer dans la case vide suivante (afin de ne pas écraser de valeur déjà existante). Puis de faire la même chose avec les éléments précédent jusqu'à l'élément x que tu as ajouté.

J'espère avoir été moindrement clair!
Bonne chance!
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 21:56
Je ne comprends pas du tout l'exercice
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 22:09
ok kévin76110.
Quelqu'un pourrait pas pas me donner la solution svp
0
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 872
1 déc. 2010 à 01:18
Si qqn te donne la solution, quel devient le but de l'exo ? --'
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 30/11/2010 à 22:11
De ce que je peux comprendre, il de demande d'ajouter un nombre dans un tableau triés de nombres à la bonne place donc par exemple:

Tableau possède: 1,3,6,7,9
X: 4

Tu dois insérer 4 dans ton tableau. La bonne place étant entre le 3 et le 6 selon l'ordre croissant.

Tu commence par regarder le premier élément de ton tableau, dans notre cas 1. Tu vérifies si 4 est plus petit que 1. Non. Alors on passe au prochain nombre étant 3. On vérifie si 4 est plus petit que 3. Non, Alors on passe au prochain étant 6. On vérifie si 4 est plus petit que 6. Oui! Alors c'est ici qu'on doit insérer X.

Le problème est que si tu insère X à la troisième position du tableau, tu vas écraser 6. C'est pourquoi tu dois déplacer tous les nombres subséquants (6,7,9) d'une position vers la droite.

Ce que tu veux faire ressemble un peu à un tri par insertion: https://fr.wikipedia.org/wiki/Tri_par_insertion

Echo "Lima Mike Alfa";
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 22:19
donc ça ferait ça:
procédure tri_insertion(tableau T, entier x)
pour i de 1 à n - 1
x := T[i]
j = i
tant que j > 0 et T[j - 1] > x
T[j] = T[j - 1]
j = j - 1;
T[j] = x
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
30 nov. 2010 à 22:25
Bien sûr que non, j'ai dit que ce que tu voulais faire ressemble un peu au tri par insertion, pas que tu pouvais copier le tout, changer n pour x sans même prendre en considération qu'il y avait déjà une variable x dans le tri rendant ton algo totalement erroné.

Je sens que tu as déjà abandonné et que tu ne cherches même pas à comprendre.
0
Aerocool003 Messages postés 11 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 18 décembre 2010
30 nov. 2010 à 22:28
c'est pas que je cherche pas à comprendre, c'est que je comprends pas cet exercice
0
Tien tien, un IRIS1 qui cherche à ce qu'on lui résoudre l'exo 7 qu'il y a à rendre pour mercredi.
Lol XD PTDR ect ...
0