on est là pour s'aider
bon on va dérouler ça de manière à ce que tu comprenne:
dans un vecteur tu as la suite 3 4 5 6 chaque entier dans une case
insérer le 1 entre le 4 et le 5
lire (nombre); { le 1 }
lire (position); {position 3 }
i := position; {i := 3}
Tant que (i <= nbElement) faire {tant que i <= 4 puisque tu as 4 valeurs}
t[i + 1] := t[i]; { t[4] := t[3] }
i := i + 1; {incrémenter i, i=4}
Fin Tant que
t[position] := nombre; { t[3] := 1}
nbElement := nbElement + 1; {là je ne sais pas pourquoi il a fait ça }
on fait appel à Sidahmed pour une petite explication, on faisant t[i + 1] := t[i] on écrase pas les valeurs?
Bonjour,
On a bien inséré un nouvel élément, donc nbElement augmente de un
Ici, oui tu as raison et j'ai même mentionné que j'ai pas testé les deux codes !on fait appel à Sidahmed pour une petite explication, on faisant t[i + 1] := t[i] on écrase pas les valeurs?
En fait, j'avais écrit la première version de l'algorithme comme ça :
Franchement, j'arrive pas à suivre la discussion, désolé je suis vraiment harassé ! À demain si Dieu le veut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 i := nbElement; Tant que (...) faire t[i + 1] := t[i]; i := i - 1; Fin Tant que
Bonne nuit !
je propose une autre idée, on fait toujours le décalage à droite, mais on commence par le dernier élément.
oui, c'est utile si on veut refaire l'insertion pour d'autres éléments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 lire (n); lire (nombre); lire (position); i := n; Tant que (i > position) faire T[i+1] := T[i]; i := i-1; Fin tant que t[position] := nombre;
Bonne nuit
Bonjour,
voilà pour l'insertion :
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 lire(nombre); lire(position); i := nbElement; Tant que (i >= position) faire t[i + 1] := t[i]; i := i - 1; Fin Tant que t[position] := nombre; nbElement := nbElement + 1;
Sidahmed.
Au fait, c'est mon idée que je n'ai pas complétée faute de la fatigue
bon;sur mon exemple 3 4 5 6 et insertion de 1 entre 4 et 5 on aura 65143 donc la position de 5 et 6 n'a pas changé et la position de 3 et 4 a augmenter donc c'est plutot t[i]=t[i+1]
bref sur mon exemple comment ca s'interprete t[i+1]=t[i].?
et merci a toi et acacia pour m'aider à comprendre
j'ai une autre chose que j'aimerais bien que vous me le faire comprendre;
en fait dans un algo;on me demande de trier par selection(c'est quoi ça par selection?)n elements de tableau?mais je sais pas comment commencer!et cette methode de selection je veux la comprendre;
merci!!!!
Je pense qu'au vu de toutes tes questions, il serait plus facile pour toi de trouver un cours, qui t'expliquera toutes tes réponses.
http://algo.developpez.com/cours/
Et plus particulièrement ceci :
http://lapoire.developpez.com/algorithmique/initiation/
PRomu@ld a raison, essaye de voir ou revoir quelque cours d'algorithmique.
le t[i+1]=t[i] sert pour le décalage.
pourquoi le décalage? puisque tu vas insérer une autre valeur dans ton tableau, (on suppose que le tableau est de taille suffisante) cette valeur sera mise dans une case supplémentaire du tableau, et en plus de l'insertion, tu as indiqué une position entre les cases déjà pleine du tableau, pour ne pas perdre ou écraser les anciennes valeurs, on fait un décalage.
tu avais:
| 3 | 4 | 5 | 6 |
après un décalage à droite (et on commence par décaler le 6 pour ne pas écraser les valeur et faire de la place pour le 1)
| 3 | 4 | . | 5 | 6 |
le processus du décalage se fait comme suit:
(en rouge c'est la case supplémentaire)
| 3 | 4 | 5 | 6 | . |
3 | 4 | 5 | . | 6 |
3 | 4 | .| 5 | 6 |
et maintenant, on a i initialisé à n (nbElement) i=4
t[i+1] = t [5] et c'est la case supplémentaire (en rouge)
t[5] = 6
et puisque c'est en boucle:
t[4] = 5
on arrive à la position, et on insère le 1
@ sidahmed: je pense que ce que tu as repris en bleu sur mon algorithme n'était pas "vraiment" faux!
merci!!
en fait j'ai lu et relu et relu les cours d'algorithmique.
je sais que mes questions vous semblent d'une personne qui n'a meme pas lu son cours.
moi je trouve des difficultés en exercices surtout,parce que
j'arrive pas à interpreter tout mot de l'algorithme!
c'est pourquoi d'ailleur je suis dans ce forum pour que vous m'aidiez à comprendre!
merci
Dans un cours que j'ai lu, en arrivant aux exercices je me bloque! je sais an fait quoi faire.?
nous sommes arrivés dans la classe aux tableaux d'une seule dimension!
et comme vous le verrez j'ai lu mais j'ai pas trouver ce mot tri par selection!
j'ai voulu resoudre mon exercice qui traite la classification de mes elements de tableau par le tri par selection mais.......
http://algo.developpez.com/cours/
<extrait>
et demain, cours de C...Je le re-re-répète, si l’on est dans un langage où les indices commencent à zéro, il faut en tenir compte à la déclaration :
Tableau Note(13) en Numérique
...créera un tableau de 14 éléments, le plus petit indice étant 0 et le plus grand 13.
</extrait>
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
oui merci.en fait j'ai pas cherché dans les chapitres qui suivent les tableaux puisque nous sommes arrivés dans les tableauxpardon
s-ehtp as-tu suivi ce que je t'ai expliqué ou dois-je comprendre que je me suis tuée pour rien ?
merciii cherie acacia j'ai compris
bon je suis entrain de faire un algo pour stockage d'une serie de nombre dans un tableau de taille maximale 100.ll'operation se termine lorsqu'on tape 0.et on nous demande d'afficher le tableau.
mon essai est le voila:
algorithme:tableau
debut
variables:N tableau de Tmax=100
i:entier
i=1
repeter
ecrire("entrer un nombre")
lire(N(i))
i=i+1
jusqu'à N(i)=0 ou i superieur à 100
fin
bon ce que je voulais c'est de me corrigez
merci!!
mais non, mais non...
J'ai parcouru le cours en diagonal, ca fait peur quand meme:
La vache... Faudra que j'essaye ca dans mon prochain code:Voilà la raison qui nous oblige à passer par une variable booléenne , un « drapeau » qui peut se lever, mais jamais se rabaisser. Et cette technique de flag (que nous pourrions élégamment surnommer « gestion asymétrique de variable booléenne ») doit être mise en œuvre chaque fois que l’on se trouve devant pareille situation.
La classe...
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class AsymetricBooleanVariableManagement { private boolean flag=false; public void set() {flag=true;} public boolean isSet() { return flag; } }
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
re,
le numéro que fait entrer l'utilisateur est seulement à lire, non à travers le tableau, puisqu'il n'y est pas, ce que tu comptes faire avec ton algo est un stockage, donc le tableau est initialement vide.
réfléchis encore
Bonsoir pseudocode,
c'est de quel cours cet extrait?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager