Remplissage d'une matrice en C++

Résolu
safowan Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -  
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   - 26 oct. 2008 à 20:46
Bonjour,
je suis encore à l'étape d'apprentissage du C++, et j'ai fait ce petit programme qui s'arrête au cours de son execution :

#include<iostream.h>
#include<malloc.h>
#include<stdlib.h>
void main()
{
int N,M;
cout<<"Donner le nombre de lignes"<<endl;
cin>>N;
cout<<"Donnez le nombre de colonnes"<<endl;
cin>>M;
char **T;
T=(char**) malloc(N*M*sizeof(char));
for(int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
cout<<"T["<<i+1<<"]["<<j+1<<"]=";
cin>>*(*(T+i)+j);
}
}
free(T);
system ("pause");
}

Peux-je avoir une correction à ma solution ? Je voulais aussi savoir s'il est possible de remplir le tableau sans demander le nombre de lignes et de colonnes d'avance. Merci :)

4 réponses

safowan Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   6
 
#include<iostream.h>
#include<malloc.h>
#include<stdlib.h>
void main()
{
int N,M;
cout<<"Donner le nombre de lignes"<<endl;
cin>>N;
cout<<"Donnez le nombre de colonnes"<<endl;
cin>>M;
char **T;
T = new char* [N*M] ;
for(int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
cout<<"T["<<i+1<<"]["<<j+1<<"]=";
cin>>*(*(T+i)+j);
}
}
delete[] T;
system ("pause");
}

voila j'ai essayer aussi avec New mais domage le problème pérciste encore.
0