Liste comme argument de procédure

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
novicenpure
Messages : 34
Inscription : jeu. 20/janv./2005 21:30

Liste comme argument de procédure

Message par novicenpure »

Bonjour,

Je viens de rejoindre la communauté purebasicienne, donc je ne suis pas très doué en PureBasic. J'aimerais savoir s'il est possible d'écrire
des procédures dont les arguments sont des listes chainées. En gros,
je voudrais créer une procédure TraceGraph(x(),y()) qui trace graphiquement (dans une fenetre avec un OpenScreen ou autre) tous les points de la liste y() en fonction des points de la liste x().
J'ai comme l'intuition qu'il faut utiliser des pointeurs, mais j'ai du mal
à digérer ce concept. Quelqu'un a-t-il une idée et/ou un tuyau pour
trouver un cours très simplifié sur les pointeurs, et surtout comment les
utiliser, pourquoi on s'en sert etc... ?

Merci d'avance.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Salut et bienvenue sur le Forum, il me fais rire ton pseudo mais j'ai l'impression que tu as déjà de bonne base en prog.

Les listes chainees sont globales, donc tu n'as pas besoin de les passer en argument.

Pour les tuts sur les pointeurs, il en existe un en Anglais et un en Allemand
(c'est pas la joie, mais j'ai commencé par là)

J'ai aussi commencé à écrire un tut mais il est loin d'être finit et je ne sais pas si je le finirais; c'est mon gros problème.

:)
novicenpure
Messages : 34
Inscription : jeu. 20/janv./2005 21:30

Message par novicenpure »

Salut Nico et merci d'avoir répondu,

En fait je me suis mal fait comprendre. J'aurai dans mon programme 6 listes de point différentes (appelons les l1(), l2(), .... l6()). Comment
écrire une seule fois la procédure de tracé graphique:
TraceGraphe(li(),lj())
sans traiter toutes les combinaisons possible :
une procédure pour tracer l1() en fonction de l2(), une pour l1() en fonction de l3(), etc.....
(ce qui représente tout de même l'écriture de 30 procédures si je ne me
suis pas trompé dans le dénombrement...) ?

As tu une idée ?

merci
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Si tu considères que TraceGraphe(li(),lj()) <> TraceGraphe(lj(),li())
alors il y a effectivement 30 possibilités sinon 15.

Et puis si je te suis, c’est plutot du calcul matriciel qu’il te faut.
C’est la seule manière de traiter un calcul identique sur plusieurs données à la fois.
Mais c’est une facon détournée de faire des boucles…
novicenpure
Messages : 34
Inscription : jeu. 20/janv./2005 21:30

Message par novicenpure »

nico a écrit :Salut et bienvenue sur le Forum, il me fais rire ton pseudo mais j'ai l'impression que tu as déjà de bonne base en prog.

Les listes chainees sont globales, donc tu n'as pas besoin de les passer en argument.

Pour les tuts sur les pointeurs, il en existe un en Anglais et un en Allemand
(c'est pas la joie, mais j'ai commencé par là)

J'ai aussi commencé à écrire un tut mais il est loin d'être finit et je ne sais pas si je le finirais; c'est mon gros problème.

:)
Resalut Nico,

Dis voir, pourrais - tu me donner le lien vers le tutorial sur les pointeurs (celui en anglais de préférence). Je vais essayer un dernier truc avant d'adopter la méthode matricielle proposée par Dräc.
Merci.
Avec suffisamment de paires d'yeux, tous les bogues feront surface (Linus Torvalds).
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Désolé, pour le tut anglais, je ne trouve plus, mais c'était plus une introduction.

Un lien vers le tut allemand, l'allemand se prète mieux à la translation car au moins Window reste Window par exemple.

http://freak.purearea.net/help/pointer/kapitel1.html

Il te reste plus qu'a le traduire en ligne.
novicenpure
Messages : 34
Inscription : jeu. 20/janv./2005 21:30

Message par novicenpure »

Merci. J'ai un peu de mal avec l'allemand mais ça devrait faire l'affaire.

A+
Avec suffisamment de paires d'yeux, tous les bogues feront surface (Linus Torvalds).
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

bah bricole toi tes propres listes chainées ^^
j'ai du poster un exemple dans le forum des trucs et astuces
(un bou de code qui fonctionne bien sûr)

Dri ;)
Répondre