Créer une matrice avec une procedure sur pascal

Résolu
gffd -  
 Utilisateur anonyme -
Bonjour,
voici mon programme mais à chaque ca m'affiche ''illegal qualifier'' pourriez vous m'expliquer pourquoi et me donner une solution.merci d'avance.

Program jsjsjddj;
Uses crt;
Var
tab : array[1..3,1..3] Of char;
i, j : integer;

Procedure AffichGr(gr:array of char;k,y:integer);
Begin
gr[1,1] := 'Z' ;
gr[1,2] := 'D';
gr[1,3] := 'A';;
gr[2,1] := 'R';
gr[2,2] := 'C' ;
gr[2,3] := 'I';
gr[3,1] := 'O' ;
gr[3,2] := 'U' ;
gr[3,3] := 'S';
For k:=1 To 3 Do
For y:=1 To 3 Do
Begin
write(gr[k,y]);
End;
End;

Begin
AffichGr(tab;i;j);
readln();
End.

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,
    Quelques remarques :
    1) telles que, les déclaration des variables en dehors de la procédure ne servent pas à grand chose. On pourrait aussi bien les déclarer dans la procédure et l'appeler sans passage de paramètres ; voire écrire le programme principal sans procédure. Mais, je suppose que c'est pour découvrir l'appel de procédure...
    2) En Pascal, quand on passe des paramètres à l'appel d'une procédure, on les sépare avec des virgules et pas des points-virgules : AffichGr(tab, i, j);
    3) Il faudrait déclarer un type pour les tableaux dans l'entête du programme principal
    4) utilisez l'indentation (décalage de lignes) pour rendre le code plus lisible
    5) Et enfin, utilisez toujours les balises de code pour poster votre programme.

    En ouvrant le menu, Delphi doit être ce qui conviendra le mieux.

    Si on reste sur votre structure, ça donne :
    Program jsjsjddj;
    Uses crt;
    
    Type
      tab_type = array[1..3,1..3] Of char;
    
    Var
    tab : tab_type;
    i, j : integer;
    
    Procedure AffichGr(gr:tab_type; k,y:integer);
    Begin
      gr[1,1] := 'Z';
      gr[1,2] := 'D';
      gr[1,3] := 'A';
      gr[2,1] := 'R';
      gr[2,2] := 'C ;
      gr[2,3] := 'I';
      gr[3,1] := 'O';
      gr[3,2] := 'U ;
      gr[3,3] := 'S';
    
      For k:=1 To 3 Do
        For y:=1 To 3 Do
        Begin
             write(gr[k,y]);
        End;
    End;
    
    Begin
      AffichGr(tab,i,j);
      readln();
    End.
    -1
    1. gffd
       
      merci beaucoup ca m'a vraiment aidé!!
      -1
      1. Utilisateur anonyme > gffd
         
        De rien ! Bonne continuation.
        -1