Exercice langage C: programme qui saisit la dimension N d’un tableau

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) ;

#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{
printf("Elément %d : ", i);
scanf("%d", &Tab[i]);
}
}
void AfficherTableau(int *Tab, int N)
{
int i ;
printf("Tableau donné : \n");
for (i=0; iprintf("%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{
Tab[j] = Tab[i] ;
if (Tab[i])
j++ ;
}
/* La nouvelle dimension du tableau est retournée */
return j ;
}

Article publié le 20 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 20:52 par BENKIRANE Fatima Ezzahra