Info pour réalloc en c

SOUMbelgique Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
SOUMbelgique Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
les amis

voilà j'aurais voulu savoir comment faire mon programme pour avoir tous en dynamique.
c'est a dire: je voudrais que le programme indique: taper sur "e" pour un nouvel éléments dans le tableau ou bien taper "t" pour un nouveau tableau. tout cela avec des pointeurs de pointeur.

je donne mon code qui tourne seulement avec du statique.

merci à vous de m'aider

#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <alloc.h>


void main(void)
{
int Nbtab,Ntab,Nelem; //nbre tab - indice déplacement tab - element

int *ptaille, **pptab; // génère le tableau de mémorisation des taille - le tableau de pointeurs

clrscr();
printf("Nombre de tableaux a encoder: ");
scanf("%d",&Nbtab); getchar();
if(!(ptaille = (int *)malloc(Nbtab*sizeof(int)))) exit(0);
if(!(pptab = (int **) malloc(Nbtab*sizeof(int *)))) exit(0);

for (Ntab=0;Ntab<Nbtab;Ntab++)
{
printf("\nTab %d\n Nombre d'elements: ",Ntab+1);
scanf("%d",&ptaille[Ntab]); getchar();
if(!(pptab[Ntab] = (int *) malloc(ptaille[Ntab]*sizeof(int)))) exit(0);

for(Nelem=0;Nelem<ptaille[Ntab];Nelem++)
{
printf("Introduction de l'element %d: ",Nelem);
//scanf("%d",&pptab[Ntab][Nelem]); getchar();
//scanf("%d",&(*(pptab+Ntab))[Nelem]); getchar();
scanf("%d",*(pptab+Ntab)+Nelem); getchar();
}
}

for (Ntab=0;Ntab<Nbtab;Ntab++)
{
printf("\nTab %d\n Nombre d'elements: %d\n",Ntab+1,ptaille[Ntab]);

for(Nelem=0;Nelem<ptaille[Ntab];Nelem++)
{
printf("\nAffichage de l'element %d: %d",Nelem,pptab[Ntab][Nelem]);
}
}



getch();


}
A voir également:

2 réponses

SOUMbelgique Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
aie personne pour éclairer ma lanterne?

merci
0
SOUMbelgique Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
voilà le début de mes essais:

mais je ne comprend pas comment se passe le réalloc

#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <alloc.h>


void main(void)
{
//int Nbtab,Ntab,nelem; //nbre tab - indice déplacement tab - element
int nelem=0, indtab=0,Ntab=0,i=0;
int **pptab ;

if(!(pptab =(int **)malloc(sizeof(int* )))) exit(0);
for(i=0;i<100;i++)
{
tabl: printf("tableau n: %d\n ",Ntab+1);

scan: scanf("%d",&pptab[indtab][nelem]); getchar();

bibi: switch(pptab[indtab][nelem])
{
case 65: indtab = realloc( pptab, sizeof(int) );
nelem++;
goto scan;
case 74: pptab =(int **)realloc (pptab,sizeof(int));
indtab++;
Ntab++;
goto tabl;

default: goto bibi;
}
}

}
0