Bonjour,
Je cherche en vain la manière de faire pour vider un tableau de type integer.
J'en profite pour demander aussi la manière de vider un tableau de type char.
Je vous remercie de votre aide.
Bonjour,
Je cherche en vain la manière de faire pour vider un tableau de type integer.
J'en profite pour demander aussi la manière de vider un tableau de type char.
Je vous remercie de votre aide.
Tous d'abord est ce un tableau dynamique ou statique?
deuxièmement t'entend quoi par vider?
généralement on initialise un tableau à une valeur qu'on a choisi pour définir si une case est vide (exemple -1 ) généralement c'est une valeur que tu va pas utiliser dans ton programme.
donc
//tableau d'entier
//tableau de char
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure vider(tab:tableau); var i:integer; begin for i:=1 to N do tab[i]:=-1; end;
voila en espérant t'avoir aider un peu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure vider(tab:tableau); var i:integer; begin for i:=1 to N do tab[i]:='#"; end;
cordialement @+
Merci de votre réponse rapide,
Il s'agit d'un tableau statique.
Le tableau a 9 éléments.
Les 8 premiers éléments ont des valeurs fixes.
Le neuvième élément doit changer à chaque passage d'une boucle.
Le problème est qu'à chaque boucle la valeur du 9° élément est indéboulonnable. Voici ce que cela donne si je teste mon programme :
Les 8 valeurs fixes sont 1, 2, 3, 4, 5, 6, 7, 8
La 9° valeur doit être 9 à la première boucle, 10 à la deuxième, 11 à la troisième, etc.
Je souhaite obtenir :
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 10
1 2 3 4 5 6 9 8 11
Or j'obtiens :
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 9 10
1 2 3 4 5 6 9 10 11
Je pense alors que le tableau conserve la valeur introduite à la boucle précédente. J'imagine donc de vider ce 9° élément à la reprise de chaque boucle avant d'insérer la nouvelle valeur.
ah oké non je pense que c'est plutôt un problème d'implémentation montre moi ta boucle ?
une solution peut être ?
cordialement @+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 program dev; var tab:array[1..9]of integer; i :integer; begin for i:=1 to 9 do tab[i]:=i;// initialisation for i:=1 to 3 do tab[9]:=tab[9]+1; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 program tableau ; uses wincrt; var tablon : array[1..9] of integer; i : integer; k: integer; begin clrscr ; tablon[1] : = 1; tablon[2] : = 2; tablon[3] : = 3; tablon[4] : = 4; tablon[5] : = 5; tablon[6] : = 6; tablon[7] : = 7; tablon[8] : = 8; {----- ajouter tour à tour un nombre nouveau -----} k := 9; while k < 20 do begin tablon[9] := k; {-----afficher-----} writeln(' '); for i := 1 to 9 do write(' - ',tablon[i]); k := k+1; end; end.
c'est ce que je pensais
ton code nétoyé
cordialement @+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 program tableau ; var tablon : array[1..9] of integer; i : integer;//un indice suffit begin for i:=1 to 9 do tablon[i]:=i;//initialisation du tableau while tablon[9]<=20 do begin tablon[9]:=tablon[9]+1; writeln(tablon[9]); end; end.
J'ai simplifié mon programme pour vous le présenter et je vois que, simplifié, il fonctionne. J'en conclus que le problème n'est pas dans cette boucle mais ailleurs dans mon programme complet. Je vais réétudier la question. Si je ne trouve pas je vous présenterai mon programme complet.
Quoi qu'il en soit je vous remercie déjà infiniment pout votre aide.
ben on est là et j'espère que ton problème est résolu si ce n'est pas le cas on est la n'hésite pasc'est comme ça chez dev
cordialement @+
Partager