Création d'une matrice dynamique ?

Fermé
jax008 Messages postés 80 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 2 juin 2017 - 29 mai 2017 à 00:15
jax008 Messages postés 80 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 2 juin 2017 - 29 mai 2017 à 01:39
Salutation,

Pour faire court , j’essaye de lire des chaines de caracteres depuis un fichier .txt puis les inserer dans une matrice et ce en c++ de préference ou meme en "C" ,par contre le problème est que la taille des chaines de caractères sur le fichier texte varie.
Je ne veux allouer sur la matrice que l'espace suffisant pour mettre le mot par exemple : salut,adieu,aurevoir,vendredi. il me faudrait par ailleurs avoir une matrice de 4 lignes pour l'exemple mais le nombre de colonnes varie selon le mot , que faire ?(sachant qu'en vrai j'aurai plein de lignes).

Sachant qu'à la fin il me faudrait trouver la taille du plus long mot parmi ceux la.
Merci d'avoir pris le temps de me lire dans l'attente de votre aide.

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
29 mai 2017 à 00:59
Pour faire court, je ne comprends pas l'objectif.
En C++, le type pour stocker des mots est
std::string
et il n'utilise que la mémoire nécessaire au mot.
Il existe de nombreux types pour stocker une quantité variable de choses, par exemple
std::vector<>
.
Si le nombre de colonne est constant, le type
std::array<>
est adapté.

On peut donc utiliser le type
std::vector<std::array<std::string,4>>>
poiur une matrice de 4 colonnes de N lignes de mots.
0
jax008 Messages postés 80 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 2 juin 2017 11
29 mai 2017 à 01:39
merci d'avoir pris le temps de répondre , En fait j'ai un fichier test.txt ou j'écris quelques mots dedans , puis je suis censé charger les mots depuis le fichier et les mettre dans une matrice non statique (dans le sens ou la matrice doit contenir juste l'espace nécéssaire pour stocker les mots du fichiers ,puis par la suite faut trouver la longueur du plus grand mot dans le fichier ou la matrice : qui contient la meme chose).
j'esperes avoir unpeu éclairci la chose =)
0