begin process at 2012 05 28 07:13:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

allacation dynamique d'un tableau contenant un string


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

allacation dynamique d'un tableau contenant un string

vendredi 21 octobre 2005 à 17:17:47 | allacation dynamique d'un tableau contenant un string

e52guill

Bonjour

Un petit souçi d'allacation de mémoire:

J'ai défini une structure censé représenter un élément d'une matrice el_mat

typedef struct EL_MAT
    {
    string name; //name sert à représenter une valeur symbolique corespondant à value
    float value; //valeur réelle de l'élément de la matrice
    int mark;
    }el_mat;

Pour créer ma matrice, j'utilise donc un double pointeur sur cet structure el_mat

et j'ai alloué la mémoire avec:

Mat = (el_mat **) malloc (size_Mat * sizeof (el_mat *));
  for (row = 0; row < size_Mat; row++)
    Mat[row] = (el_mat *) malloc (size_Mat * sizeof (el_mat));

Or du fait du type string dans ma structure sizeof(el_mat) ne renvoit pas une info correct et donc Mat est à l'étroit. J'arrive bien à remplir correctement les champs mark et value mais pour ce qui est de name, après avoir mis tout les Mat[][].name à "A" ,je m'aperçois que finalement une valeur sur deux est à A, l'autre est à 0. J'ai bien testé en remplaçant le string par char et la pas de problème, j'ai bien A dans le champ name pour toute les éléments de ma matrice. J'en conclue donc que l'allocation mémoire ne s'est pas faite correctement.  Et je comprends bien pourquoi mais comment y remedier ????

Si certains d'entres vous ont des idées....


vendredi 21 octobre 2005 à 20:20:12 | Re : allacation dynamique d'un tableau contenant un string

Hylvenir

Salut,
c'est bien C++ (string + le cast devant le malloc laissent supposer que oui
alors que le typedef devant le struct fait penser à du C) ?

Si ton but est d'attrendre à utiliser malloc... je laisse les spécialistes répondre.

Sinon, utilise directement un vector< el_mat >.
Fait fonctionner ton programme et si tu considéres qu'il ne va pas assez vite essaye
avec vector<...>.reserve, puis éventuellement des malloc.


//Ma participation à la saturation du net:
//http://hylvenir.free.fr
samedi 22 octobre 2005 à 00:42:00 | Re : allacation dynamique d'un tableau contenant un string

mezaya

l'allocation mémoire ce fait correctement si c'est la classe string du std il doit pas avoir de probleme. Peut être une erreur autre part ?

Voili,Voilou


Cette discussion est classée dans : string, name, matrice, mat, el


Répondre à ce message

Sujets en rapport avec ce message

Problème pour dériver une classe [ par arc59 ] J'ai créé une classe Matrice comportant des fonctions get_ele, set_ele (toutes les 2 sont "virtual") et la redéfinition de l'opérateur +.Dans ma class répétition d'allocation, désallocation de mémoire sur des matrices [ par BouiB1 ] Bonjour a tous ! pour mes cours j'ai besoin de faire un petit programme de résolution de systèmes linéaires. Le problème n'est pas dans l'lgorithme de MULTIPLICATION D'UNE MATRICE PAR UN VECTEUR [ par jfk20004 ] Quelqu'un pourrait il m'expliquer le bout de code suivant tiré d'un prog de raytrace .Cette partie est censée multiplier une matriceet un vecteur.Je n Inversion de matrice [ par gyzmo1 ] Salut à tous, g un problème concernant les matrice. J utilise l algorithme de Greville pour inverser ma matrice, le pb ce que cette méthode utilise la ArrayList (C#) vers int ** [ par typhoonx ] Bonjour, je voudrai réaliser une conversion d'un ArrayList contenant un ArrayList pour chaque case du premier ArrayList en int ** dans le but d'appele matrice [ par rif59 ] bonjour; je suis debutant en C++,en fait j'ai un probleme avec ce programme:void produit_vect_mat(double b quadrillage matrices [ par Gaston0510 ] Notre prof d cours nous a demand¨¦ de saisir et afficher des matrices .Les matrices affich¨¦ doivent etr entour¨¦ avec un double qudrillage on utilisa creer une matrice [ par rif59 ] bonjour, on fait j veu creer une matrice de n ligne et de 5 colonnes; j'ai fé un  programme mais ça marche pas, quelcun peut me dire comment faire, ça matrice de caractere en c [ par flofloo ] slt tout le monde voici mon probleme : char **Init_Matrice_IrcMSG(int ligne,int colone){     char **mat = NULL;     int i;     mat = class matrice [ par ciaonataha ] J'ai ecrit le programme classe matrice...mais j'ai les error comme:"matrice.cpp:269: error: no match for 'operator=' in 'b = matrice::Mat_decomposer(a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales