Bonjour tout le monde
je voulais faire un programme qui va agrandir la taille d'un tableau dont que je ne saisi pas par exemple 0, voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdlib.h>
// pour modifier la taille d'un tableau , possibilité d'utiliser resize de vector, ici on utilise realloc qui doit être utilisé avec malloc
//ici m est un pointeur , si m=null , realloc joue le rôle de malloc , et si b*sizeof = 0 elle joue le rôle de free
using namespace std;
 
int main()
{
   int b=0,x;
   int *T,*m=NULL;
   T=(int*) malloc (b*sizeof(int));// allocation dynamique
   cin>>x;// lire avant le test
   while (x!=0)
    {
       T[b]=x;
       b++;
       m=(int *)realloc((int *)T,(b)*sizeof(int));// reallocation  
   T=m;
   m=NULL;//rendre m null pour refaire realloc
   cin>>x;
   }
 
    return 0;
}
le problème est que lors de l'exécution ,d'ailleurs il n'y a pas d'erreur de compilation, après que je saisi par exemple 6 nombres, l'exécution s'arrête me disant que ça a cessé de fonctionner.
Est-ce que vous avez un idée d'où vient le problème ?

merci énormément