Algorithme
Aerocool003
Messages postés
11
Statut
Membre
-
kevin76110 Messages postés 5350 Statut Membre -
kevin76110 Messages postés 5350 Statut Membre -
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
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
-
-
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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! -
-
ok kévin76110.
Quelqu'un pourrait pas pas me donner la solution svp -
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"; -
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 -
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. -
c'est pas que je cherche pas à comprendre, c'est que je comprends pas cet exercice
-
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 ...