Exercices langage C fonctions tableaux à une dimension

Exercice 1

La fonction LIRE_TAB à trois paramètres TAB, N et NMAX lit la dimension N et les composantes d'un tableau TAB du type int. La dimension N doit être inférieure à NMAX. Implémenter la fonction LIRE_TAB en choisissant bien le type des paramètres.

Exemple:

Pour un appel par

LIRE_TAB(T, &N, 10);

la fonction se comportera comme suit:

Dimension du tableau (max.10): 11
Dimension du tableau (max.10): 4
Elément[0] : 43
Elément[1] : 55
Elément[2] : 67
Elément[3] : 79

Exercice 2

Ecrire la fonction ECRIRE_TAB à deux paramètres TAB et N qui affiche N composantes du tableau TAB du type int.

Exemple:

Le tableau T lu dans l'exemple ci-dessus sera affiché par l'appel :

ECRIRE_TAB(T, N);

et sera présenté comme suit:

43 55 67 79

Exercice 3

Ecrire la fonction SOMME_TAB qui calcule la somme des N éléments d'un tableau TAB du type int. N et TAB sont fournis comme paramètres; la somme est retournée comme résultat du type long.

Exercice 4

A l'aide des fonctions des exercices précédents, écrire un programme qui lit un tableau A d'une dimension inférieure ou égale à 100 et affiche le tableau et la somme des éléments du tableau.

void LIRE_TAB (int *TAB, int *N, int NMAX)
{
/* Variables locales */
int I;
/* Saisie de la dimension du tableau */
do
{
printf("Dimension du tableau (max.%d) : ", NMAX);
scanf("%d", N); /* Attention: écrire N et non &N ! */
}
while (*NNMAX);
/* Saisie des composantes du tableau */
for (I=0; I{
printf("Elément[%d] : ", I);
scanf("%d", TAB+I);
}
}

void ECRIRE_TAB (int *TAB, int N)
{
/* Affichage des composantes du tableau */
while(N)
{
printf("%d ", *TAB);
TAB++;
N--;
}
printf("\n");
}

long SOMME_TAB(int *TAB, int N)
{
/* Variables locales */
long SOMME = 0;
/* Calcul de la somme */
while(N)
{
SOMME += *TAB;
TAB++;
N--;
}
return SOMME;
}

#include

main()
{
/* Prototypes des fonctions appelées */
void LIRE_TAB (int *TAB, int *N, int NMAX);
void ECRIRE_TAB (int *TAB, int N);
long SOMME_TAB(int *TAB, int N);
/* Variables locales */
int T[100]; /* Tableau d'entiers */
int DIM; /* Dimension du tableau */
/* Traitements */
LIRE_TAB (T, &DIM, 100);
printf("Tableau donné : \n");
ECRIRE_TAB (T, DIM);
printf("Somme des éléments du tableau : %ld\n",
SOMME_TAB(T, DIM) );
return 0;
}
void LIRE_TAB (int *TAB, int *N, int NMAX)
{
. . .
}
void ECRIRE_TAB (int *TAB, int N)
{
. . .
}
long SOMME_TAB(int *TAB, int N)
{
. . .
}

Article publié le 06 Février 2011 Mise à jour le Mardi, 08 Novembre 2022 09:09 par Salim KHALIL