feanor04
Messages postés2Date d'inscriptionlundi 2 février 2004StatutMembreDernière intervention31 mai 2006
-
31 mai 2006 à 12:53
feanor04
Messages postés2Date d'inscriptionlundi 2 février 2004StatutMembreDernière intervention31 mai 2006
-
31 mai 2006 à 14:30
Bonjour a tous,
j'aurais besoin de vos lumieres pour le probleme suivant:
Je travaille en C (pas d'autre option) avec Eclipse (derniere version
je crois), et j'utilise egalement la derniere version de gcc et
Cygwin (je sais ...)
Mon probleme est le suivant, j'ai besoin de travailler sur des matrices, mais elles semblent se chevaucher.
Avez vous une idee. En fait, sur un autre projet j'avais le meme
principe pour declarer des matrices, mais je n'avais alors aucun
probleme !
Feanor
NB:
je n'utilise pas la facon classique de declarer des matrices car leur
taille depend de donnees utilisateur et de plus, j'ai besoin de pouvoir
les passer en parametre de differentes fonctions. C'est la facon la
plus propre que j'ai trouve pour le faire.
HSylvio
Messages postés116Date d'inscriptionjeudi 22 juillet 2004StatutMembreDernière intervention14 juin 2012 31 mai 2006 à 13:55
Ce n'est peut être pas la meilleure façon de procéder mais pourquoi ne fais tu pas une classe où tu déclares un tableau (une seule dimension donc) pour l'utiliser tel une matrice avec par exemple getElement(a,b){return tableau[a*sizeJ+b];}
La même chose avec des list pour subvenir à la taille variable des matrices, mais il faudra verifier la taille de ce que tu ajoutes chaque fois...
Ca marche plutôt bien, ne demande pas trop plus de calculs au cpu et tu peux transformer ta classe en matrice n-dimentionnelle sans trop de travail une fois qu'elle est faite.
Voila j'espere t'avoir donné de bonnes idées.
feanor04
Messages postés2Date d'inscriptionlundi 2 février 2004StatutMembreDernière intervention31 mai 2006 31 mai 2006 à 14:30
C'est deja la solution que j'ai choisie:
je declare un tableau a une dimension mais pouvant contenir autant d'entiers que de donnee a memoriser dans la matrice.
A cote de ca, j'utilise une fonction pour calculer l'element du vecteur
correspondant a la donnee (i, j) de la matrice => ce que vous
vous qppelez getElement.
Quand a utiliser des listes, (1) cela consommera plus de place
(donnees + pointeurs), (2) les algorithmes de recherche sur des
tableaux sont plus performant.
Enfin, je fais du C pas du C++ ... donc pas de classe a proprement parle.