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,
Partager