Documente Academic
Documente Profesional
Documente Cultură
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
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:
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
Nombre de lignes : 8
*
***
*****
*******
*********
***********
*************
***************
Exercice 5
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.
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.
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,
* A partir des POINTS des élèves, établir un tableau NOTES de dimension 7 qui est composé de la
façon suivante:
...
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:
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