begin process at 2012 05 30 11:15:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

reallouer de la memoire à une matrice


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

reallouer de la memoire à une matrice

samedi 20 novembre 2004 à 18:25:37 | reallouer de la memoire à une matrice

savoyard

j ai alloué de la memoire à une matrice commencant à a[1][1].
Je n 'arrive pas à réallouer de la memoire dans ce cas la il faut que ma matrice commence à a[0][0] mais je ne le veux pas. comment faire
samedi 20 novembre 2004 à 19:28:02 | Re : reallouer de la memoire à une matrice

Steph115

Membre Club
je te propose ca comme solution
Je prend comme exemple une allocation pour une matrice a[2][2]



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
int **a;
int L=2, C=2, i, j;

//Allocation de a[2][2]
a = (int**)malloc(sizeof(int*) * L);

for(j=0 ; j < L ; j++ )
{
a[j] = (int*)malloc(sizeof(int) * L);
}

//Reallocation on passe de a[2][2] à a[4][5]
L = 4;
C = 5;

a = (int**)realloc(a, sizeof(int*) * L);
for(i=0 ; i < L ; i++ )
a[i] = (int*)realloc(a[i], sizeof(int) * C);

for(j=0 ; j < L ; j++)
{
for(i=0 ; i < C ; i++)
{
a[j][i] = i+1;
}
}

for(j=0 ; j < L ; j++)
{
for(i=0 ; i < C ; i++)
{
printf("%d\t", a[j][i]);
}
printf("\n");
}

getch();

return 0;
}


Voial j'espere que cela t'aidera.

Bon Code

Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
samedi 20 novembre 2004 à 20:37:16 | Re : reallouer de la memoire à une matrice

savoyard

la reallocation est sympa mais le probleme est que je realloue de la memoire à partir de a[1][1] et non a[0][0] et cela engendre des pb de memoire. la fonction realloc réalloue par defaut à a[[0][0] comme proposé dans la premiere solution. Comment faire dans mon cas
samedi 20 novembre 2004 à 20:40:46 | Re : reallouer de la memoire à une matrice

savoyard

cette solution ne peut convenir. lorsque je parle de a[1][1] je fais reference au terme dans la matrice 2eme ligne 2 eme colonne. la fonction realloc realloue par defaut à partir de a[0][0], comment la modifier pour ne pas avoir de message d erreur
samedi 20 novembre 2004 à 20:42:54 | Re : reallouer de la memoire à une matrice

Steph115

Membre Club
Rien ne t'empeche d'allouer dès le début un tableau de 1-1 et tu travail avec, tu change quand tu as envie.


Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
samedi 20 novembre 2004 à 20:46:24 | Re : reallouer de la memoire à une matrice

Steph115

Membre Club
Je vosi ton probleme en fait quand tu realloue un tableau toutes ce qu'il y avait avant est detruit.

Si c'est ca que tu vois ca ne peut pas etre possible.


Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
samedi 20 novembre 2004 à 21:44:46 | Re : reallouer de la memoire à une matrice

Matt67

Bonsoir,

un extrait du "Langage C" de K & R :

void *realloc(void *p, size_t size);
realloc change en size la taille de l'objet pointé par p. Si la nouvelle taille est plus petite que l'ancienne, seul le début du contenu de l'objet est conservé. Si la nouvelle taille est plus grande , le contenu de l'objet est conservé, et l'espace mémoire supplémentaire n'est pas initialisé. [..]
donc steph115, verifie tes dires avant de les publier...

Matt...
samedi 20 novembre 2004 à 21:50:03 | Re : reallouer de la memoire à une matrice

Steph115

Membre Club
Ohla Matt je n'ai jamasi dit ca

Je vosi ton probleme en fait quand tu realloue un tableau toutes ce qu'il y avait avant est detruit.
Si c'est ca que tu vois ca ne peut pas etre possible.


Je reexplique cette phrase : Quand tu fais un realloc ca ne change rien.
N'oublie pas apres que je marque Si c'est ca comme ca que tu vois la chose ca ne peut etre possible


Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
samedi 20 novembre 2004 à 22:00:58 | Re : reallouer de la memoire à une matrice

Matt67

Bonsoir,

S'il veut que les données soient perdues apres un realloc, un coup de memset et le tour est joué...

Matt...
samedi 20 novembre 2004 à 22:13:24 | Re : reallouer de la memoire à une matrice

Matt67


savoyard > poste sur le forum pour que tout le monde arrive a suivre.
Je n'ai pas trop compris ce que tu voulais en fait. Poste un bout de code concernant ton erreur et je comprendrai peut être mieux.

Merci,

Matt...

1 2

Cette discussion est classée dans : matrice, memoire, reallouer


Répondre à ce message

Sujets en rapport avec ce message

Allocation memoire [ par youga ] Bonjour je fais un programme de filtrage d'images en C sur VisualDSP++. J'ai donc une matrice d'entrée et je dois absolument pouvoir determiner l'add 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 class matrice [ par flaky ] Slt à tousJ'utilise une classe "matrice" (celle de nicolas aunai, téléchargée sur le site) qui fonctionne très bien. Mais j'ai du mal à manipuler l'ob question sur les pointeur et tableau et matrice [ par Battousai ] bonjour a tous,ma question se porte comme indiqué si dessus sur l'utilisation des pointeur avec les tableau et surtout les matrices ou plus.d'abord j' matrice, valeurs propres et vecteurs propres [ par SMarmotte ] Bonjour,je cherche un algo ou un code source qui prend en entrée une matrices (de double) et qui donne TOUTES les valeurs propres ainsi que les vecteu Screenshots avec GetFrontBuffer [ par Galmiza ] Quels sont les differents moyens pour faire des screenshots ?Je connais cette fonction: GetFrontBuffer qui recopie le backbuffer sur une surface (prea Template matrice [ par anisdilou ] Je souhaite q'on s'aide a fin d'meliorer nos nivauxSalut : Je veux implémenter une classe qui représente des matrices de dimensions et type de donnés suppression d'une variable. [ par StevenJLMunn ] Pour économiser de la memoire vive dans mon prog j'ai ecrit une vaiable de type char dans un fichier mais pour que ce soit utile il faut que je saches Memoire partagée de DLL PERDUE [ par vlacnog ] Bonjour,voici mon problème.Je développe une DLL dans laquelle je crée un fichier mappé en mémoire (via CreatFileMapping et MapViewOfFile).De plus, la


Nos sponsors


Sondage...

Comparez les prix

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,452 sec (4)

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