Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3455 connectés 

 


Dernière réponse
Sujet : [C] Matrice Dynamique URGENT svp ...
Krueger N'oublie pas de vérifier si malloc a bien alloué ta mémoire pour être propre... Et libérer cette mémoire une fois inutilisée en passant. :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Krueger N'oublie pas de vérifier si malloc a bien alloué ta mémoire pour être propre... Et libérer cette mémoire une fois inutilisée en passant. :)
flo850 a mon avis , ca ca marche :
 

DarkOli a écrit a écrit :

int i;   // compteur
int l,c; // nombre de lignes et colonnes
int** t=(int**)NULL;
 
t=(int**)malloc(sizeof(int*)*l);
for (i=0;i<l;i++) t[i]=(int*)malloc(sizeof(int)*c);
 
et aprés ca doit marcher.  



darkoli int i;   // compteur
int l,c; // nombre de lignes et colonnes
int** t=(int**)NULL;
 
t=(int**)malloc(sizeof(int*)*l);
for (i=0;i<l;i++) t[i]=(int*)malloc(sizeof(int)*c);
 
et aprés ca doit marcher.
camarchepoa en fait je vais faire juste un tableau .. ca serra + simple et ca doit pouvoir marcher ...
camarchepoa si si je les dealloue qd meme .. mais c vrai que faut faire gaffe pq ca part vite !!
camarchepoa oui c bien ca ... je pensait que ca faisait des tableaux dont le premier element de chaque etait contenu dans un autre tableau, ce qui faisait un matrice ...apparement non  
 
 :cry:
deathsharp sans compter les fuites de mem parce que jsuis sur que tu desalloue pas ces deux block de memoire...
deathsharp indice: un seul malloc, pas deux c portenawak
pour ca que je te demandais si c'etait bien du C
 
regarde bien: tu alloc un tableau de x elements int ( matX ) puis tu alloue y elements ( matY ) fois la taille du pointeur de l'autre tab...
camarchepoa sinon c peut etre pas comme ca qu'il faut creer une matrice dynamique ... je suis pas sur ...
camarchepoa vi vi c du C !
 
ca plante aussi qd les indices i et j commencent a 0 ... etrange ...
deathsharp

Code :
  1. tab_mat=(int **)malloc(matY*sizeof((int *)malloc(matX*sizeof (int))));


 
t sur que c'est du C ce truc :D

 

[edtdd]--Message édité par deathsharp--[/edtdd]

camarchepoa en fait il plante au premier i++  
 
il n'y aurrais en fait qu'une seule dimenssion ??
camarchepoa :hello: bonsoir !!
g un gros probleme pour un devoir a rendre demain : je n'arrive pas a faire une matrice dynamique.
je fais un double malloc :
 
tab_mat=(int **)malloc(matY*sizeof((int *)malloc(matX*sizeof (int))));
 
mais qd je veut tout initialiser ca fait une erreur memoire et je sais pas pq ...
ca donne :
 
 printf("DEBUT INIT\n" );
  for(i=1 ; i<matY ; i++){
    for(j=1 ; j<matX ; j++){
      tab_mat[i][j]=0;
      printf(" %d ",j);
    }
  }
  printf("FIN INIT\n" );
 
 
il y a un truc qui va pas mais ou ??
 
merci d'avance !!  :jap:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)