Exercice langage C
[tab name=’♣ Exercice langage C’]
Ecrire un programme qui saisit la dimension N d’un tableau de int (le tableau est initialement définit avec une taille maximum MAX que N ne doit pas excéder) remplit le tableau par des valeurs entrées au clavier et l’affiche.
Le programme doit ensuite effacer toutes les occurrences de la valeur 0 dans le tableau, tasser les éléments restants et afficher le tableau ainsi modifier.
Pour cela écrire les fonctions suivantes :
void SaisirTableau (int *Tab, int N) ;
void AfficherTableau(int *Tab, int N) ;
int TasserTableau(int *Tab , int N) ;
[/tab][tab name=’Correction’]
#include #define MAX 50 void SaisirTableau(int *, int ) ; void AfficherTableau(int *, int) ; int TasserTableau(int *, int) ; main() { /* Déclarations */ int T[MAX]; /* tableau donné */ int N,M; /* dimension */ /* Saisie de la dimension */ do { printf("Dimension du tableau (max.%d) : ",MAX); scanf("%d", &N ); }while(N>MAX) ; /* Saisie des données */ SaisirTableau(T,N) ; /* Affichage du tableau */ AfficherTableau(T,N) ; /*Tasser les elements du tableau */ M = TasserTableau(T,N) ; /* Edition des résultats */ AfficherTableau(T ,M) ; } void SaisirTableau(int *Tab, int N) { int i ; for (i=0; i<N; i++) { printf("Elément %d : ", i); scanf("%d", &Tab[i]); } } void AfficherTableau(int *Tab, int N) { int i ; printf("Tableau donné : \n"); for (i=0; i<N; i++) printf("%d ", Tab[i]); printf("\n"); } int TasserTableau(int * Tab, int N) { int i,j ; /* Effacer les zéros et comprimer : */ /* Copier tous les éléments de i vers j et */ /* augmenter j pour les éléments non nuls. */ for (i=0, j=0 ; i<N ; i++) { Tab[j] = Tab[i] ; if (Tab[i]) j++ ; } /* La nouvelle dimension du tableau est retournée */ return j ; }
Exercice langage C
Exercice informatique, Correction exercice, Télécharger Exercice, Solution exercice, Exercice langage C
[/tab][end_tabset skin= »lightness » ]