Bonjour,
Je cherche une fonction, ensemble de fonctions ou expressions régulières qui puissent écrire dans un fichier Ascii les valeurs d'un tableau a n dimensions et surtout qui puissent recevoir en entrée un Ascii pour reconstituer le tableau a n dimensions (ce pour un programme expérimental où les données seront écrite sous forme de tableau a 4/5/6 dimensions, voir plus, mais j'ai du mal a conceptualiser au delà). Je séche actuellement sur le n, ou comment avoir un nombre de dimensions non fixé a la base.
Merci d'avance pour toute réponses, même si j'ai pas trop l'impression que les forums de DLFP soient fréquenté par d'autre chose que des trolls...
# pas clair.
Posté par Putifuto . Évalué à 3.
>les forums de DLFP soient fréquenté par d'autre chose que des trolls...
Quand tu demandes de l'aide à quelqu'un, ca serait bien de ne pas commencer à les insulter.
# syntaxe C(++)
Posté par Krunch (site web personnel) . Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: syntaxe C(++)
Posté par ThesmallgamerS . Évalué à 2.
Quand a ta representation de tableau a n dimension, je la trouve très interressante a mettre en oeuvre bien que cela ne réponde pas vraiment a mon problème.
En fait, j'ai réussi a contourner le problèmes (pas de possibilité de specifier un tableau de N dimensions a la volée) en utilisants les pointeurs.
Merci pour vos réponses.
# Re : Tableau a n dimensions
Posté par Pol' uX (site web personnel) . Évalué à 1.
Un tableau à 1 dimension (i1) peut être vu comme un noeud avec i branches qui lient la donnée (ou une référence, mais c'est du détail).
Un tableau à 2 dimensions (i1,i2) peut être vu comme un noeud avec i1 branches, qui chacune relient un noeud avec i2 branches qui lient la donnée.
...
Par récurrence, un tableau à n dimensions (i1, i2, ..., in) peut être vu comme un noeud avec i1 branches, qui chacune relient un tableau à n-1 dimension (i2, ..., in).
Il te reste encore à stocker ton joli arbre, dont les données sont ascii, mais je pense qu'un parser/writer xml devrait parfaitement faire l'affaire. Attention à préserver l'ordre des données si c'est important.
Adhérer à l'April, ça vous tente ?
# Matrices creuses
Posté par dinomasque . Évalué à 2.
Une solution me rappelle particulièrement un projet sur les "matrices creuses", c'est à dire des matrices qui sont presque toutes vides.
Il s'agit alors de représenter non pas toute la matrice mais seulement les éléments non nuls, avec leur "coordonnées", pour gagner de la place.
Il faut donc des n-uplets {indice 1}{indice 2}...{indice n}=valeur
Par exemple pour une matrice à 4 dimensions :
{1}{7}{0}{3}=42
{3}{7}{6}{2}=42
{1}{2}{0}{1}=42
{1}{7}{8}{4}=42
{7}{8}{0}{2}=42
et ainsi de suite pour chacune des "cases" de ta matrice à n dimensions.
Une recherche sur ton moteur de recherche favori te donnera des milliards d'exemples de TD/TP d'informatique sur le sujet.
Par exemple :
http://www.cppfrance.com/gma/matrice%20creuse
http://www.dil.univ-mrs.fr/~garreta/M1Math/exams/Test_603.pd(...)
...
Bon amusement !
BeOS le faisait il y a 20 ans !
# ...
Posté par lmg HS (site web personnel) . Évalué à 1.
Bien avant de décoder ton tableau, tu vas devoir savoir ce que tu vas décoder -- quel intérêt à stocker des données que l'on ne saurait pas manipuler ?
Perso, j'aurai tendance à jouer avec boost.multi_array (tableaux à N dimensions, le nombre de dimensions étant statique (devant être connu à la compilation), boost.any (pour contourner le systême de typage et donc mélanger carottes et choux -- les nombres dimensions quoi), boost.serialize (pour gérer sérialisation et désérialisation de tes tableaux si rien n'est déjà défini par défaut).
# une petite réponse
Posté par wxuserbrest . Évalué à 1.
Cordialement
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.