Académique Documents
Professionnel Documents
Culture Documents
4/ void main()
{ char A[50][20]; int n, i, j, l; printf (“donnez le nombre de mots”); scanf (“%d”, &n) ;
// remplissage de la matrice
for (i =0 ; i<n ; i++)
{ printf (“donnez un mot à stocker dans la ligne %d de la matrice”, i); gets (A[i]) ;}
// initialisation du vecteur de mots
char *t[7] = {″aval″, ″bal″, ″bancal″, ″chacal″, ″carnaval″, ″cérémonial″ , ″festival″} ;
// modification des mots de la matrice
for (i =0 ; i<n ; i++)
if (VERIF (A[i]))
{ for (j =0 ; j<7 ; j++) // chercher si le mot existe dans le vecteur t
if (IDENTIQUE(A[i], t[j])) // le mot existe dans le vecteur t
{l = strlen(A[i]) ; A[i][l] = ‘s’ ; A[i][l+1] = ‘\0’; break;}
if (j == 7) MODIF (A[i]);}
// Affichage de la matrice
printf (“voici la matrice après modification”); for (i =0 ; i<n ; i++) puts (A[i]) };
1 S.Boukhedouma
if (p1->indice < p2->indice)
{p->element= p1->element; p->indice = p1->indice; p1 = p1 ->svt;}
else if (p2->indice < p1->indice)
{p->element= p2->element; p->indice = p2->indice; p2 = p2 ->svt;}
else // égalité des indices
{S = p1->element + p2->element;
if (S!= 0) // s’assurer que la somme n’est pas nulle
{p->element= S; p->indice = p1->indice; p1 = p1 ->svt; p2 = p2 ->svt;}
else free (p); // libérer l’espace alloué car non utilisé
// mise à jour des chainages
if (T = = NULL) {T = p ; q =p ;} else { q->svt = p ; q=p ;}}
}
// à la sortie de la boucle
while (p1 != NULL) // s’il reste des éléments dans T1
{ p = (liste *)malloc (sizeof(liste)) ;
p->element= p1->element; p->indice = p1->indice; p1 = p1 ->svt;
q->svt = p ; q=p ;}
void main()
{ int A[100][100], B[100][100]; liste * Tab1[100], *Tab2[100] ; int n, m, i, j ;
printf (“donnez les dimensions des matrices”); scanf (“%d %d”, &n, &m) ;
// remplissage des matrices
for (i =0 ; i<n ; i++) for (j =0 ; j<m ; j++) scanf (“%d”, &A[i][j]);
for (i =0 ; i<n ; i++) for (j =0 ; j<m ; j++) scanf (“%d”, &B[i][j]);
// construire les structures
CONSTStr (A, n, m, Tab1); CONSTStr (B,n, m, Tab2);
// la somme des deux matrices
liste * S[100] ; // le vecteur qui va pointer les sommes des lignes
for (i =0 ; i<n ; i++)
S[i] = SOMME (Tab1[i], Tab2[i]) ;
printf (“voici la structure somme des matrices A et B”); // Affichage
for (i =0 ; i<n ; i++) AFFICHE (S[i]); }
2 S.Boukhedouma
return (S); }
2 S.Boukhedouma