Affichage d'un tableau (matrice) a deux dimensions

Programmation d'applications complexes
popstatic
Messages : 83
Inscription : lun. 20/sept./2004 18:21
Localisation : derriere toi fais gaffe!

Affichage d'un tableau (matrice) a deux dimensions

Message par popstatic »

Bonjour!

voila mon probleme, je fait rentrer a l'utilisateur les différentes valeurs qui composent une matrice de la taille de son choix, et j'aimerai l'afficher juste apres.

et la c'est le drame (M6 like): j'arrive a passer un pointeur en paramatres a la fonction d'affichage (qui contient 2 for imbriqués) mais ca pédale et je vois pas d'ou bref, voici mon code si vous voyez une (ou plusieurs) abérrations, merci!!

Code : Tout sélectionner

Structure Liste
    val.w
EndStructure 

Procedure affiche_matrice(*pointeur.Liste, longueur.w, largeur.w)
    i.w
    j.w
    For i=0 To longueur-1
        For j=0 To largeur-1
            Print(Str(*pointeur\val)) 
            *pointeur+2
        Next
        PrintN("")
    Next
EndProcedure



OpenConsole()
longueur.w
largeur.w

PrintN("Entrez les dimensions de la matrice:")
Print("Largeur: ")
largeur=Val(Input())
PrintN("")
Print("Longueur: ")
longueur=Val(Input())
PrintN("")
Dim matrice.w(largeur,longueur) ;Allocation du tableau "matrice" en fonction des entrées de l'utilisateur.
i.w
j.w
valeur.w
For i=0 To longueur-1
    For j=0 To largeur-1
        Print("Entrez la valeur pour ["+Str(i)+"]["+Str(j)+"]: ") 
        valeur=Val(Input())
        matrice(i,j)=valeur
        PrintN("")
    Next
Next

PrintN("Dimensions de la matrice: "+Str(longueur)+"x"+Str(largeur))
affiche_matrice(@matrice(),longueur,largeur)

Input()
Asus bien? asus tres bien!
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Si tu prends les pointeurs, il ne faut pas aller de un en un, je n'ai pas le temps. Sinon pour "Dim matrice.w(largeur,longueur)" tu peux aussi rajouter les "-1" ici
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

d'abord les tableaux sont GLOBAUX !!

ton code serai donc plus simple comme cela

Code : Tout sélectionner


Declare  affiche_matrice(longueur.w, largeur.w)



OpenConsole()
longueur.w
largeur.w

PrintN("Entrez les dimensions de la matrice:")
Print("Largeur: ")
largeur=Val(Input())
PrintN("")
Print("Longueur: ")
longueur=Val(Input())
PrintN("")
Dim matrice.w(largeur,longueur) ;Allocation du tableau "matrice" en fonction des entrées de l'utilisateur.
i.w
j.w
valeur.w
For i=0 To longueur-1
        For j=0 To largeur-1
                Print("Entrez la valeur pour ["+Str(i)+"]["+Str(j)+"]: ")
                valeur=Val(Input())
                matrice(i,j)=valeur
                PrintN("")
        Next
Next

PrintN("Dimensions de la matrice: "+Str(longueur)+"x"+Str(largeur))
affiche_matrice(longueur,largeur)

Input()




Procedure affiche_matrice(longueur.w, largeur.w)
        i.w
        j.w
        For i=0 To longueur-1
                For j=0 To largeur-1
                        Print(Str( matrice(i,j))+" ")
                Next
                PrintN("")
        Next
EndProcedure

et d'autre part comme tu pose une question sur la maniere de coder , prend l'habitude de poster dans la rubrique DEBUTANT !!

cela veux pas dire que t'es un naze en programmation
mais que tu demande une aide aux intervenants du Forum
(donc temporairement tu remet ta ceinture Blanche ! :D )

le rubrique APPLICATION est en faite prevu pour les devellopement d'applications !! comme le fromage ,c'est marqué dessus ...

voila .. voila !!

:D
popstatic
Messages : 83
Inscription : lun. 20/sept./2004 18:21
Localisation : derriere toi fais gaffe!

Message par popstatic »

Merci pour vos réponses rapides!

Les tableaux sont globaux, ça c'est bon a savoir, et en plus je me suis emmelé les pinceaux avec les pointeurs et tt et tt....

je viens aussi d'apprendre que "Declare" sert a declarer une fonction qui suit (pour eviter une deuxieme passe du compilateur je pense)

et enfin je suis désolé d'avoir mis ce message dans la catégorie application!

merci encore pour tout!
Asus bien? asus tres bien!
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Je pensais que tu avais utilisé les pointeurs car tu avais plussieurs tableaux à traiter et que tu ne voulais pas changer de procédure
Répondre