Remplissage d'une matrice en C++

Résolu/Fermé
safowan Messages postés 174 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 22 juin 2022 - 26 oct. 2008 à 14:28
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 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 lundi 25 juin 2007 Statut Membre Dernière intervention 22 juin 2022 6
26 oct. 2008 à 17:42
#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