Sunteți pe pagina 1din 6

Exercice 1

Calculez le nombre lu à rebours d'un nombre positif entré au clavier en supposant que le fichier
d'entrée standard contient une suite de chiffres non nuls, terminée par zéro (Contrôlez s'il s'agit
vraiment de chiffres). Exemple: Entrée: 1 2 3 4 0 Affichage: 4321

Exercice 2

Calculez pour une valeur X donnée du type float la valeur numérique d'un polynôme de degré n:

n n-1
P(X) = AnX + An-1X + ... + A1X + A0

Les valeurs de n, des coefficients An, ... , A0 et de X seront entrées au clavier.

Utilisez le schéma de Horner qui évite les opérations d'exponentiation lors du calcul:

Exercice 3

Calculez le N-ième terme UN de la suite de FIBONACCI qui est donnée par la relation de récurrence:

U1=1 U2=1 UN=UN-1 + UN-2 (pour N>2)

Déterminez le rang N et la valeur UN du terme maximal que l'on peut calculer si on utilise pour UN :

- le type int

- le type long

- le type double
- le type long double

Exercice 4

Affichez un triangle isocèle formé d'étoiles de N lignes (N est fourni au clavier):

Nombre de lignes : 8

*
***
*****
*******
*********
***********
*************
***************

Exercice 5

Affiche la table des produits pour N variant de 1 à 10 :

X*Y I 0 1 2 3 4 5 6 7 8 9 10
--------------------------------------------------
0 I 0 0 0 0 0 0 0 0 0 0 0
1 I 0 1 2 3 4 5 6 7 8 9 10
2 I 0 2 4 6 8 10 12 14 16 18 20
3 I 0 3 6 9 12 15 18 21 24 27 30
4 I 0 4 8 12 16 20 24 28 32 36 40
5 I 0 5 10 15 20 25 30 35 40 45 50
6 I 0 6 12 18 24 30 36 42 48 54 60
7 I 0 7 14 21 28 35 42 49 56 63 70
8 I 0 8 16 24 32 40 48 56 64 72 80
9 I 0 9 18 27 36 45 54 63 72 81 90
10 I 0 10 20 30 40 50 60 70 80 90 100

Tableaux et matrices

a- Tableaux ou vecteurs :
Déclaration : type nom [nombre_d'éléments];
Exemple : int tab[10];
Ceci réserveve en mémoire un espace pouvant contenir 10 entiers. Le premier
ier est tab[0], jusqu'à
tab[9] !!! (Source d’erreurs non signalée par le compilateur !).
On peut aussi déclarer un tableau par typedef :
typedef float vecteur[3] ;
vecteur x,y,z ;
On peut aussi initialiser un tableau lors de sa déclaration :
int T[4] = {10,20,30,40} ;
Comme on peut ne pas spécifier la dimension du tableau :
int Y[ ] = {3,5,7} ;
Exemple :
Dans cet exemple, on va sommer 2 vecteurs et afficher le vecteur résultat :
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
typedef int vecteur[4];
vecteur U={1,2,3,4},V={1,2,3,4},W;
for(i=0;i<=3;i++)
{
W[i]=U[i]+V[i];
printf("%d ",W[i]);
}
printf("\nFin du travail\n");
system("pause");
return 0;
}

b- Matrices :
Déclaration : type nom [nombre_lignes]
[nombre_ [nombre_colonnes];
Exemple : float M[3][4] ;
Exemple :
Dans cet exemple, on va sommer 2 matrices et afficher le résultat :
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i,j;
typedef int matrice[2][2];//2 lignes 2 colonnes
matrice A={1,2,3,4},B={5,6,7,8},C;//1,2
3,4},B={5,6,7,8},C;//1,2 1ère ligne, 3,4 2ème ligne
for(i=0;i<=1;i++)
{
for(j=0;j<=1;j++)
{
C[i][j]=A[i][j]+B[i][j];
printf("%5d",C[i][j]);//de
",C[i][j]);//de l'espace pour afficher
}
printf("\n"); printf("\n");
}
printf("Fin du travail\n");
system("pause");
return 0;
}

Exercice 1 :Insérer
Insérer une valeur dans un tableau trié

ième
Un tableau A de dimension N+1 contient N valeurs entières triées par ordre croissant; la (N+1)
valeur est indéfinie. Insérer une valeur VAL donnée au clavier dans le tableau A de manière à obtenir
un tableau de N+1 valeurs triées.

Exercice 2 : Fusion de deux tableaux triés

Problème: On dispose de deux tableaux A et B (de dimensions respectives N et M), triés par ordre
croissant. Fusionner les éléments de A et B dans un troisième tableau FUS trié par ordre croissant.

Méthode: Utiliser trois indices IA, IB et IFUS. Comparer A[IA] et B[IB]; remplacer FUS[IFUS] par le
plus petit des deux éléments; avancer dans le tableau FUS et dans le tableau qui a contribué son
élément. Lorsque l'un des deux tableaux A ou B est épuisé,
épuisé, il suffit de recopier les éléments restants
de l'autre tableau dans le tableau FUS.

Exercice 3 : Tri par sélection du maximum

Problème: Classer les éléments d'un tableau A par ordre décroissant.

Méthode: Parcourir le tableau de gauche à droite à l'aide de l'indice I. Pour chaque élément A[I] du
tableau, déterminer la position PMAX du (premier) maximum à droite de A[I] et échanger
éch A[I] et
A[PMAX].

Exemple:
Exercice 4 : Statistique des notes

Ecrire un programme qui lit les points de N élèves d'une classe dans un devoir et les mémorise dans
un tableau POINTS de dimension N.

* Rechercher et afficher:

- la note maximale,

- la note minimale,

- la moyenne des notes.

* A partir des POINTS des élèves, établir un tableau NOTES de dimension 7 qui est composé de la
façon suivante:

NOTES[6] contient le nombre de notes 60

NOTES[5] contient le nombre de notes de 50 à 59

NOTES[4] contient le nombre de notes de 40 à 49

...

NOTES[0] contient le nombre de notes de 0 à 9

Etablir un graphique de barreaux représentant le tableau NOTES. Utilisez les symboles #######
pour la représentation des barreaux et affichez le domaine des notes en dessous du graphique.

Idée: Déterminer la valeur maximale MAXN dans le tableau NOTES et afficher autant de lignes sur
l'écran. (Dans l'exemple ci-dessous, MAXN = 6).

Exemple:

La note maximale est 58


La note minimale est 13
La moyenne des notes est 37.250000

6 > #######
5 > ####### #######
4 > ####### ####### #######
3 > ####### ####### ####### #######
2 > ####### ####### ####### ####### #######
1 > ####### ####### ####### ####### #######
+-------+-------+-------+-------+-------+-------+-------+
I 0 - 9 I 10-19 I 20-29 I 30-39 I 40-49 I 50-59 I 60 I

S-ar putea să vă placă și