Exercice langage C: Pointeurs sur tableaux à deux dimensions

Exercice 1


Pointeurs sur tableaux à deux dimensions :

Écrire un programme qui lit 5 mots d'une longueur maximale de 50 caractères et les mémorise dans un tableau de chaînes de caractères TABCH.

Inverser l'ordre des caractères à l'intérieur des 5 mots à l'aide de deux pointeurs P1 et P2. Afficher ces mots.

Exercice 2

Inverser l'ordre des mots :

Écrire un programme qui lit 5 mots, séparés par des espaces et qui les affiche ensuite dans une ligne, mais dans l'ordre inverse. Les mots sont mémorisés dans 5 variables nommées de M1 à M5.

Exemple voici une petite phrase ! ! phrase petite une voici

Exercice 1

#include
int main() {
/* Déclarations */
char TABCH[5][51];/* tableau de chaînes de caractères */
char AIDE; /* pour la permutation des caractères */
char *P1, *P2; /* pointeurs d'aide */
int I; /* indice courant */
/* TABCH+I est l'adresse de la I-ième chaîne du tableau */
/* Il vaut mieux convertir TABCH+I en pointeur sur char */
/* Saisie des données */
printf("Entrez 5 mots :\n");
for (I=0; I{
printf("Mot %d (max.50 caractères) : ", I);
scanf("%s", TABCH[I]);
}
/* Inverser l'ordre des caractères à l'intérieur des mots */
for (I=0; I{
P1 = (char *)(TABCH+I);
P2=P1; /* Placer P2 à la fin de la chaîne */
while (*P2 != '\0') P2++;
P2--; /* sinon '\0' est placé au début de la chaîne */
while (P1 {
AIDE = *P1;
*P1 = *P2;
*P2 = AIDE;
P1++;
P2--;
}
}
/* Affichage des mots inversés */
for (I=0; I return 0;
}

Exercice 2

#include
main() {
char M1[30], M2[30], M3[30], M4[30], M5[30];
printf("Entrez 5 mots, séparés par des espaces :\n");
scanf ("%s %s %s %s %s", M1, M2, M3, M4, M5);
printf("%s %s %s %s %s\n",M5, M4, M3, M2, M1);
return 0;
}

Article publié le 19 Mars 2012 Mise à jour le Mardi, 08 Novembre 2022 13:59 par BENKIRANE Fatima Ezzahra