Algorithme
Aerocool003
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
kevin76110 Messages postés 4273 Date d'inscription Statut Membre Dernière intervention -
kevin76110 Messages postés 4273 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Algorithme
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
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!
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!
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";
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
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.
Je sens que tu as déjà abandonné et que tu ne cherches même pas à comprendre.