Hello à tous,
Je tente de faire un exercice sur les tableaux, lorsque je teste mon script, j'ai l'erreur array type required....
(ps : je ne sais pas si le code en question est correct pour l'ennoncé ci-dessous, mais je n'arrive pas à trouver l'erreur du compilateur...)
Voici l'énnoncé de l'exercice...
On vous donne un tableau statique d’entiers contenant nb_elem significatifs (les éléments significatifs sont consécutifs et commencent à l’indice minimum du tableau).
On vous demande d’écrire une routine (procédure ou fonction selon votre choix) qui modifie un tel tableau.
La modification consiste à réduire le nombre de composantes en « additionnant des contenus ».
Dès que la somme de composantes successives atteint ou dépasse 10 on remplace l’ensemble de ces composantes par cette somme.
On parcourt ainsi le tableau pour remplacer des suites de composantes par leur somme.
Si la dernière suite n’atteint pas 10, on remplace cette suite par le nombre de composantes qu’elle contient.
On vous demande de minimiser le nombre d’échanges au sein du tableau, ainsi que le nombre de tests effectués.
PS : tout doit se faire au sein du même tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 type ttab = array[1..10] of integer; var a : ttab;
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 function question (t : ttab; elt : integer):integer; var nbre, i, indice, somme : integer; begin result:=1; somme:=0; indice:=1; i:=1; nbre:=0; WHILE elt>indice DO begin somme:=t[indice]+somme; if somme>=10 THEN begin result[i]:=somme; inc(i); nbre:=0; end else inc(nbre); inc(indice); end; if (nbre<>0) then result[i]:=nbre; end;
Merci d'avance pour votre aide :-)
Partager