Bonjour tout le monde,

J'aurai besoin de votre aide pour me dire pourquoi ça ne s' exécute pas ! (Dés que je tape une phrase... Ensuite ça ne marche pas pour la suite)

L’énoncé de l'exo:
soit une phrase contenant des mots séparés par un seul blanc. Ecrire le programme qui sauvegarde les mots de la phrase dans un tableau de chaînes de caractères (matrice).
( J'ai utilisé l'allocation dynamique)
Voici le prigramme:

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<malloc.h>








main()


{ int n=20; char t[n], mo[30], y,**a, *x;
int cpt,mot,j,i,k,m,taille,cmot;

{ printf(" donner une phrase qui se termine par un point\n");
scanf("%s",&t);

i=0; cpt=0;
{do
if (t[i]==' ')
cpt= cpt +1;

while ((t[i]!='.') && (i<n) ); i++;}
mot= cpt+1;

{printf(" le nbr de mot dans cette phrase est: %d", mot); }


// Ranger chaque mot trouvé dans un vecteur mo
{ for ( m=0; m<taille; m++)
{ for(i=0; i<taille; i++)
mo[m]=t[i]; } } // t affecte le mot trouvé dans mo
a[j]= mo ;

// ALLOCATION de l'espace pour les elments de la matrice
x = (char*) malloc (mot*taille*sizeof(char));

// faire le lien entre le vecteur d'@ a et l'espace memoire de elements
for( i=0; i<mot; i++)
a[i]= x + i*taille;


i= taille+2;
taille=0; // mo affecte le mot dans le vecteur de mots qui pointera sur la matrice

while ( t[i]!='.'); i++;









getch();
}
}
_____________________________________

Merci d'avance,