Exercice langage C les pointeurs sur tableaux à deux dimensions

 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<5; 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<5; I++) 
    { 
        P1 = (char *)(TABCH+I); 
        P2=P1; /* Placer P2 à la fin de la chaîne */ 
        while (*P2 != '') P2++; 
        P2--; /* sinon '' est placé au début de la chaîne */ 
        while (P1 < P2) 
        { 
            AIDE = *P1; 
            *P1 = *P2; 
            *P2 = AIDE; 
            P1++; 
            P2--;
        }
     } 
/* Affichage des mots inversés */ 
     for (I=0; I < 5; I++) printf("\n%s", TABCH[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;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *