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

C

 > 

Divers

 > 

Débutant(e)

 > 

Allocation dynamique de tableu 2D


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

Allocation dynamique de tableu 2D

lundi 10 janvier 2011 à 18:06:50 | Allocation dynamique de tableu 2D

potitmarron

Bonjour,
J'aimerais savoir comment en C je peux créer un tableau et au fur et à mesure de mes besoins, ajouter des lignes ?
Ici j'ai un tableau de x lignes et de 5 colonnes. Quand ma fonction test me renvoie 1 je veux sauvegarder tab[nouvelleligne][premièrecolonne] = i et tab[nouvelleligne][deuxièmecolonne] = j. (j'utiliserais les autres colonnes une fois mon problème compris).

Code C/C++ :
int ** tab;
int point = 0;
int nbligne = 0;

 for(int i=0; i<rows; i++){
	for( int j=0; j<cols; j++){
		point = test(inputBIN,j,i,cols,rows);		
		if(point==1){ // si point valide j'ajoute une ligne dans le tableau
		    tab = (int **) malloc(sizeof(int*)*nbtrab);
		    if (tab != NULL){   
			for (int heu = 0; heu < nbligne; heu++){ 
			    tab[heu] = NULL;
			}
			for ( int ligne=0 ; ligne < nbligne ; ligne++){ 
			    tab[ligne] = (int *) malloc (sizeof (int)*5);
			}
			    if (tab[nbligne] != NULL){
				tab[nbligne][0] = i;
				tab[nbligne][1] = j;
				
			    }
			 
		    }
		  nbligne++;
		
	    }
	}
    }

    for (int ligne = 0 ; ligne < nblignes; ligne++){
	free (tab[ligne]), tab[ligne] = NULL;
    }
free (tab), tab = NULL;


Merci de votre aide.
mardi 11 janvier 2011 à 01:42:22 | Re : Allocation dynamique de tableu 2D

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

Il est impossible d'agrandir un tableau sans réallouer l'ensemble. Soit tu alloue le maximum et tu libère ce qui est en trop après traitement soit tu réalloue (pas malloc() mais realloc()) à chaque fois soit il faut utiliser les listes.

@++
mardi 11 janvier 2011 à 15:59:47 | Re : Allocation dynamique de tableu 2D

potitmarron

Ok, dommage mais merci pour l'info.


Cette discussion est classée dans : ligne, int, tab, for, nbligne


Répondre à ce message

Sujets en rapport avec ce message

Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le help une fonction qui a besoin de vous [ par natacha86 ] Re bonjour a tout le monde, voila j'ai mis tout le prog si vous voulez tester, en fait le pb viens de la fonctino tri_shell(), je ne sais pas pkoi ell pb en c urgenttttttttttttttttt [ par natacha86 ] bonjour, j'ai un probleme avec mon programme, il ne veut pas sortir, j'ai fais un menu et apparement ya un bug mais je ne comprend rien.le code est as tableau [ par imanedaoudi ] Salut,Je veux récuperer le tableaux triée sans faire return, avec ce programme je recupere le tableau non trier ,comment faire pour recuperer le tab t Help! Pb de spécif en C [ par tomalille ] Bonjour, je suis en train d'écrire un programme et je voudrai faire une fonction qui renvoit un tableau d'entier.Je n'arrive pas à faire la spécif.Vou problème avec des listes > 30 éléments [ par tomalille ] Bonjour,je finalise un programme qui fonctionne parfaitement sauf que je ne peux pas travailler avec une liste de plus de 30 éléments pour le tri par Conversion int en string [ par EagleEye ] Bonsoir ! J'ai un pti soucis en fait il m'est impossible d'effectuer cette instruction car nbLigne est un int. itoa existe mais il ya plus simple nan Besoin d'aide urgent SVP [ par paulina82 ] Bonjour, j'ai un gros probleme avec mon programme ecri en langage C.lorsque je complile il n'afiche pa d'erreur mais lorsque j'esaye de l'executé il Gérer miex la memmoire pour le calcul matriciel [ par Stiko ] salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[quote]/* Matrix.h*/#i Gérer mieux la memoire [ par Stiko ] salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[code]/* Matrix.h*/#if


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,874 sec (3)

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