bonjour ,
je cherche un algo pour insérer une nouvelle objet
au tableaux .
merci
Version imprimable
bonjour ,
je cherche un algo pour insérer une nouvelle objet
au tableaux .
merci
un peu plus de précision :roll:
comment insérer un entier donnée par
l'utilisateur dans un tableau d'entiers .
T[i,j] := n ;
Salut !
Je crois que tu utilises un mot que nous ne comprenons pas: la verbe insérer.
S'il s'agit-il de mettre le nouveau nombre à la place d'un ancien, les nombres suivants restent en place et la solution indiquée par acacia s'impose.
S'il s'agit de "faire de la place entre deux nombres préexistants pour y glisser le nouveau nombre, tu dois décaler tous les suivants, ce qui ce fait par une boucle dont le compteur décroit.
Si ton tableau a plus d'un indice, c'est à toi denous indiquer exactement ce que tu veux faire.
Jean-Marc Blanc
[mode miniTroll] Utilise les listes chainées ^_^ [/mode miniTroll]
Et sinon plus sérieusement, soit tu fait un remplacement, auxquel cas tu écrases un nombre dans une case existante et tu le remplace par le tiens, soit tu doit commencer par décaler tous les nombres situé entre la fin du tableau et l'endroit ou tu veux faire ton insertion, et rajouter ton nombre dans la place ainsi libéré.
Attention à la mémoire, suivant le langage, si tu mets ton dernier nombre dans une case "hors du tableau", ca peut planter sauvagement ;-)
Code:
1
2
3
4
5
6 begin write("donnez votre nombre"); readln(nb); t[i]:=nb; end;
d'aprés son post c'est un tableau a une dimension (par default)Citation:
comment identifier t[i] dans un tableau à deux dimension?
couramment (loin du langage utilisé pour le codage, array se dit pour les deux) en distingue un vecteur d'un tableau par les dimension de celui-ci, c'est à dire, pour éviter les ambigüités, "un tableau à une dimension" est appelé vecteur, à deux dimensions est appelé tableau (par défaut).
d'après son post, on ne sait pas grand chose de ce qu'il veut faire.
amicalement. ;)
pour la seconde appelation je dirais plutot matriceCitation:
Envoyé par acacia un tableau à une dimension" est appelé vecteur, à deux dimensions est appelé tableau (par défaut).
pardon acacia;mais si vous pouvez nous expliquer t[i;j]=n
ce que je veux savoir c'est quoi i;j;n ils representent quoi au juste?(je suis enfait un vrai debutant:D)
je vous remercie infiniment si vous puissiez nous donnez l'algo exact par la boucle avec les explications(en fait moi je fais toujours la confusion entre les indices n ;i n c'est quoi et le i c'est quoi vous voyez?:()
merci
NB:(les boucles que j'ai etudié c'est tant que et repeter je l'ai pas encor fait en C);)
tableau a 2 dimensions:roll:;pouvez nous donnez un exemple dun tableau à 2 dimensions;et un autre pour un vecteur:
merci!!
Bonjour,
le tableau qu'on a appelé "t" tel que i représente l'indice des lignes et j l'indice des colonnes.Citation:
pardon acacia;mais si vous pouvez nous expliquer t[i;j]=n
ce que je veux savoir c'est quoi i;j;n ils representent quoi au juste?(je suis enfait un vrai debutant)
n est l'entier que doit saisir l'utilisateur du programme, le nombre à insérer dans le tableau.
t[i,j] représente la case de ligne i, et colonne j, dans le tableau t, dans cette case, on met n.
le "i" est en général utilisé comme indice, à incrémenter (i := i+1) ou à décrémenter (i := i-1) dans une boucle.Citation:
en fait moi je fais toujours la confusion entre les indices n ;i n c'est quoi et le i c'est quoi vous voyez?
le n dans ce cas est une variable de type entier.
un tableau: des lignes et des colonnes n*m (comme le jeu touché-coulé)Citation:
tableau a 2 dimensions;pouvez nous donnez un exemple dun tableau à 2 dimensions;et un autre pour un vecteur:
merci!!
un vecteur: une ligne à n cases.
Bonsoir,
Insérer un élément à la ième place :
Supprimer un élément :Code:
1
2
3
4
5
6
7
8
9
10 lire(nombre); lire(position); i := position; Tant que (i <= nbElement) faire t[i + 1] := t[i]; i := i + 1; Fin Tant que t[position] := nombre; nbElement := nbElement + 1;
Je n'ai pas testé ces deux codes !Code:
1
2
3
4
5
6
7
8
9
10
11
12 lire(nombre); position := rechercheElement(nombre, t); {position = 0 si nombre n'existe pas} Si (position > 0) alors i := position; Tant que (i < nbElement) faire t[i] := t[i + 1]; i := i + 1; Fin Tant que nbElement := nbElement - 1; Finsi
Nota bene :
1. L'indice de la première case est 1.
2. Insertion ==> décalage à droite.
3. Suppression ==> décalage à gauche.
4. Insertion à la fin du tableau ne nécessite pas un décalage à droite.
5. Suppression à la fin du tableau ne nécessite pas un décalage à gauche.
6. Tu peux remplacer Tant que par la boucle Pour, c'est plus simple.
7. Pour l'insertion, j'ai supposé que la taille du tableau est illimitée, dans le cas contraire il faut faire un test !
Cordialement,
Sidahmed.
Ou bien une colonne à n cases ;)
:roll:merci a vous tous;
pardon sidahmed;l'indice i est initialisé a 1 d'apres ton algo.moi j'ai lu dans un cours quelque part que l'indice doit toujours commencer à 0?si oui pourquoi? sinon si on commence notre indice à 1 ça changera quoi au just?
2eme chose ce nbelement c'est quoi?est ce que c'est le nombre d'élement de tableau?
2 eme chose que j'ai pas compris c'est pourquoi dans le premier algo on a fait une inegalité et dans le 2EME une inegalité strict
Bonsoir,
Ce sont des conventions selon le langage :
- C / C++ ==> indice de début est 0,
- Pascal ==> indice de début est 1.
En C / C++, un tableau à n éléments ==> t[0], t[1], ..., t[n - 1].
Et en Pascal, un tableau à n éléments ==> t[1], t[2], ...,t[n], si je me rappelle bien : t[0] = n ;)
Exact ;)Citation:
2eme chose ce nbelement c'est quoi?est ce que c'est le nombre d'élement de tableau?
Cordialement,
Sidahmed.
tu commences par 1 ou 0 ya aucun probléme ( faut suivre ta declaration de tableau)Citation:
Envoyé par s-ehtp sinon si on commence notre indice à 1 ça changera quoi au just?
la différence est :
si tu parcours un tableau de 10 elements et que tu commence avec i:=0 le parcours s'arréte quand i:=9
si tu commences avec i:=1 le parcours s'arréte quand i:=10
et à propos des inegalités;ya dans le premier une inegalité et dans le 2eme une inegalité strict(je parle de l'lgo de sidahmed)tu peux m'expliquer pourquoi?
je veux savoir l'interpretation de ces 2 algo surtout celle que j'ai souligné en rouge
C'est un bon signe ! Tu prouves que tu cherches vraiment à comprendre.
C'est le cas de l'insertion, donc on va décaler à droite : on décale même le dernier élément t[nbElement] vers t[nbElement + 1], tu vois maintenant pourquoi <= et non pas < ;)Code:Tant que (i <= nbElement) faire
C'est la suppression, donc un décalage à gauche, et par conséquent le dernier élément déplacé est bien t[nbElement] (t[i + 1]) vers t[nbElement - 1] (t[i]).Code:Tant que (i < nbElement) faire
J'espère que tu as compris maintenant !
t(nbelement+1) dans ce cas on depasse le nombre données des elements du tableau?
et si ona un tableau rempli par 3 4 5 6 et on veut inserer 1 entre 4 et 5 decaler a droite ;on fait j'ai pas bien vu comment la faire?:(:(:?
et si on veut supprimer le 4