Académique Documents
Professionnel Documents
Culture Documents
1
Plan de Cours
1. Rappel
• Les Opérateurs / Le types / Les Variables
• Les Structures de contrôles (Les Tests)
• Les Structures itératives (Les Boucles)
2. Fonctions
Chapitre 1:
3. Tableaux
Rappel d’Algorithme et
4. Pointeurs éléments de base du langage C
5. Chaînes de caractères
6. Structures, Enumérations et fichiers
3 4
2
Etapes de l’algorithmique Traduction de l’algorithme
• Lecture de l’énoncé
• Extraire les données
Enoncé du Algorithme EQUATION
Problème
Variables
a,b,X: réel;
Langage de Programmation
DÉBUT
• Compréhension du problème
• Analyse ÉCRIRE ("Résolution de l'équation ax+b=0 " );
Résolution du
problème • Rédaction de l’algorithme ÉCRIRE ("Entrer les valeurs de a, b :");
Lire(a);
L'algorithme est ainsi conséquence directe d'une bonne analyse du problème. Traduction
Lire(b);
• Traduction de l’algorithme Si a=0 Alors
5 6
3
Traduction de l’algorithme Programme en C
#include<stdio.h>
#include<stdlib.h>
Algorithme EQUATION
Development Environment
Variables #include<stdio.h> float a,b,X;
Traduction en langage C #include<stdlib.h> main()
a,b,X: réel;
7 8
4
Outils nécessaires pour programmer en C IDE :Integrated Development Environment
Development Environment
• un compilateur pour transformer (compiler) le
9 10
5
IDE : Integrated Development Environment IDE : Integrated Development Environment
machine.
11 12
6
Qualités d’un programme Caractéristiques du Langage C
13 14
7
Structure d’un programme Structure d’un programme
#include <stdio.h>
#define DEBUT -10 Directives du préprocesseur : Directives de pré-compilation :
#define FIN 10 accès avant la compilation Elles commencent toutes par un #. Parmi ces directives, une seule est
#define MSG "Programme de démonstration\n" obligatoire pour le bon fonctionnement d’un programme en langage C:
int fonc1(int x); #include <stdio.h> : En effet, sans elle, on ne peut pas utiliser les
Déclaration des fonctions
int fonc2(int x); fonctions utiles pour l’affichage à l’écran et la lecture des données au clavier.
Int x; #include <math.h> :permet d’utiliser les fonctions mathématiques de base
Int pi=3,14; Déclaration des variables globales
(sqrt, cos).
#include <stdlib.h> : permet d’utiliser des fonctions générales.
void main()
#include<string.h> : permet de manipuler des chaînes de caractères.
{ /* début du bloc de la fonction main*/
int i; /* déclaration des variables locales */
Fonction main()
i=0;
Programme principal Elle commence par une accolade ouvrante { et se termine par une
fonc1(i) ;
fonc2(i) ; accolade fermante }. A l’intérieur, chaque instruction se termine par
} /* fin du bloc de la fonction main */ un point-virgule. Toute variable doit être déclarée.
int fonc1(int x) {
return x;
} Définitions des fonctions
int fonc2(int x) {
return (x * x);
} 15 16
8
Les opérateurs Les opérateurs
L’Affectation: Opérateurs
Identificateur_de_variable = expression Arithmétiques Logiques De comparaison incrémentation
17 18
9
Les opérateurs Les opérateurs
19 20
10
Les opérateurs Les opérateurs
Exemples: Exemples:
Le modulo : Incrémentation:
Pré-incrémentation (dans cet exemple B=5 )
a % b=r : r est le reste de division de a par b. L'instruction : A = ++B; est équivalente à :
La négation: B = B + 1;
Quelles sont les valeurs de A et B?
A = B;
!a : vaut 1 si a est nul , sinon vaut 0.
A B
Le ou et le Et:
6 6
a || b : a ou b
a && b : a et b Post-incrémentation (dans cet exemple B=5 )
Opérateur Binaire: l'instruction : A = B++; est équivalente à :
a&b : le Et bit à bit A = B;
B = B + 1; Quelles sont les valeurs de A et B?
a|b : le ou bit à bit
A B
5 6
21 22
11
Les Types Les Types
23 24
12
Les Types Les Variables
13
Les Variables Les Constantes
14
Les Constantes Le type caractère
Les constantes:
int a=140;
printf("L’adresse de a est %x",&a);
29 30
15
Le type caractère Le type caractère
16
Les mots clefs
17
Les Structures de contrôle Les Structures de contrôle
Condition ? instruction 1
instruction 2
35 36
18
Les Structures de contrôle Les Structures de contrôle
37 38
19
Les Structures de contrôle Les Structures de contrôle
Exemple d’une calculatrice basique switch(choix)
#include <stdio.h> {
#include <stdlib.h> case 1:
{printf("Donner a:\n"); case 4:
int main ()
scanf("%d",&a); {printf("Donner a:\n");
{
printf("Donner b:\n"); scanf("%d",&a);
int a,b; do{
scanf("%d",&b);
float resultat; printf("Donner b (non nul):\n");
resultat=a+b;
int choix=0; printf("a+b=%f\n",resultat); scanf("%d",&b);
break;} }while (b==0);
//***************Menu************* case 2: resultat=(float)a/b;
printf(" 1-Somme de a et b: \n"); {printf("Donner a:\n"); printf("a/b=%f\n",resultat);
printf(" 2-Soustraction de a et b: \n"); scanf("%d",&a); break;}
printf(" 3-Produit de a et b: \n"); printf("Donner b:\n"); case 0:
printf(" 4-Division de a par b: \n"); scanf("%d",&b); {exit(0);
printf(" 0-Quitter le programme: \n"); resultat=a-b; break;}
printf("a-b=%f\n",resultat); }
break;} getchar();getchar();
//***************Filtre *************
case 3: return 0;
while (choix >5 || choix<1)
{printf("Donner a:\n"); }
{
scanf("%d",&a);
printf(" Votre Choix SVP\n"); printf("Donner b:\n");
scanf("%d",&choix); scanf("%d",&b);
} resultat=a*b;
} printf("a*b=%f\n",resultat);
break;}
39 40
20
Les Boucles
Les boucles permettent de répéter une série d’instructions tant qu’une
certaine condition est vérifiée.
On distingue 3 formes classiques:
while ( expression )
{
instruction1;
instruction2;
Programmation en ………..
langage C }
do {
instruction1;
instruction2;
2ère Année du Troc Commun MIPC II ………..;
Section A } while ( expression );
for ( expr 1 ; expr 2 ; expr 3)
{
LES STRUCTURES DE CONTRÔLE instruction1;
instruction2;
LES BOUCLES (STRUCTURES RÉPÉTITIVES) ………..;
} 42
21
Les Boucles Les Boucles
Exemple: Exemple:
… …
main() main()
{ {
float note; int nbr;
printf(‘’Donner une note’’);
Scanf(‘’%f’’,¬e); do
while( note<0 || note>20) {
Printf(‘’Donnez un nombre positif’’);
{ Scanf(‘’%d’’,&nbr);
printf(’’Donner une note’’); }while (nbr<0);
Scanf(‘’%f’’,¬e);
} …
}
…
}
43 44
22
Les Boucles
Exemple:
La boucle « For »
for(exp1;exp2;exp3)
{
Instruction1;
….
} Programmation en
langage C
…
main()
{
int i;
for(i=0;i<=9;i++) 2ère Année du Troc Commun MIPC II
{printf(‘’valeur %d’’,i+1); Section A
}
…
}
45
23
Les Fonctions
Introduction
47
24
Les Fonctions Les Fonctions
Introduction Introduction
En Programmation:
50
25
Les Fonctions Les Fonctions
Fonction 1
permet de "factoriser" les programmes (mettre Augmente la lisibilité d’un programme
en commun les parties qui se répètent). Réalise un objectif précis
permet une structuration et une meilleure
lisibilité des programmes. Son utilisation se décompose en trois phases :
Fonction 2
facilite la maintenance du code (il suffit de
modifier une seule fois). Définition de la fonction
un module peut éventuellement être réutilisé dans Déclaration de la fonction
d'autres programmes.
Fonction 3
Appel de la fonction
En C, la structuration de programmes en sous-
programmes (modules) se fait à l'aide des
fonctions.
51
26
Les Fonctions Les Fonctions
Définition Exemples
On définit une fonction en dehors de la fonction principale main ( ) par
la syntaxe suivante :
Type nom_fonction (type1 arg1,…, typeN argN)
{
instructions (corps de la fonction);
return (expression);
}
L’en-tête (prototype) de la fonction contient :
type : c’est le type du résultat retourné. Si la fonction n’a pas de
résultat à retourner, elle est de type void.
nom de la fonction.
parenthèses : on spécifie les arguments de la fonction et leurs types.
S’il n y a pas de paramètres, on peut déclarer les paramètres comme ().
Syntaxe de Fonction : Type nom_fonction (type1 arg1,…, typeN argN)
Pour fournir un résultat en quittant une fonction, on utilise la commande
{
return.
instructions (corps de la fonction);
53 return (expression); } 54
27
Les Fonctions Les Fonctions
55 56
28
Les Fonctions Les Fonctions
Utilisation Utilisation
Appel d’une fonction : Appel d’une Fonction:
Exemple d’appel d’une fonction
L‘appel d'une fonction se fait par simple écriture de son nom avec la
cette instruction spécifie
liste des paramètres : nom_fonction (para1,…, paraN); #include <stdio.h> comment la fonction est
définie
Lors de la définition d'une fonction, les paramètres sont appelés float Moyenne(float, float, float);
paramètres formels. void main(void)
{ Le compilateur attend des
Lors de l'appel, les paramètres sont appelés paramètres effectifs. float; les conversions sont
floatn1,n2,n3,MY;
automatiques
n1=10;
L'ordre et les types des paramètres effectifs doivent correspondre à n2=16;
ceux des paramètres formels. n3=19;
MY=Moyenne(n1,n2, n3);
}
Ici, on ne tient pas compte de la valeur de retour
57 58
29
Les Fonctions Les Fonctions
return moy;
}
Valeur renvoyée
59 60
30
Les Fonctions Les Fonctions
61 62
31
Les Fonctions Les Fonctions
63 64
32
Les Fonctions
Fonction récursive
Exercice :
Ecrivez une fonction récursive qui calcule le terme n de la suite
de Fibonacci définie par :
U(0)=U(1)=1
U(n)=U(n-1)+U(n-2).
Programmation en
int Fib (int n) langage C
{if (n==0 || n==1)
return (1);
2ère Année du Troc Commun MIPC II
else Section B
return ( Fib(n-1)+Fib(n-2));
}
65
33
Les Tableaux
Définition
Un tableau (array) est une collection de variables de même type, appelées
éléments.
67
34
Les Tableaux Les Tableaux
Syntaxe de la déclaration d'un tableau (à une dimension)
Exemples
type identificateur[longueur]; int tab[4]; déclare un tableau de 4 valeurs entières tab[0] tab[1] tab[2] tab[3]
le type des éléments du tableau (un tableau est une suite de données de int tableau[4];
même type) ;
le nom du tableau (son identificateur) ; tableau[0] = 10;
la longueur du tableau (le nombre d’éléments qui le composent). Cette tableau[1] = 23;
dernière doit être une expression entière. tableau[2] = 505;
tableau[3] = 8;
Exemple
Pour définir un tableau contenant vingt int, nous devons procéder comme #define SIZE 10
suit: int tab[20]; int a[SIZE]; /* a est un vecteur de 10 entiers */
Remarque le compilateur réserve SIZE places en mémoire pour ranger les éléments du tableau.
La syntaxe de la déclaration d’un tableau est similaire à celle d’une
variable, la seule différence étant qu’il est nécessaire de préciser le
nombre d’éléments entre crochets à la suite de l’identificateur du tableau. float A[5] = { 10.1, 20.3, 30.5, 40.0, 50.4 };
35
Les Tableaux Les Tableaux
Les tableaux
int tableau[4]; Accès aux éléments d’un tableau
printf("%d", tableau);
int tableau[4]; }
printf("%d", *tableau);
Il est aussi possible d'obtenir la valeur de la seconde case avec*(tableau +1) Les tableaux consomment beaucoup de place mémoire. On a donc intérêt à
les dimensionner au plus juste.
36
Les Tableaux Les Tableaux
Initialisation de tableaux à un indice Initialisation, affichage et recherche
La déclaration : void main() {
Recherche d’un élément dans un Tableu
const int N=10;
int tab[5] = { 10, 20, 5, 0, 3 } ;
int t[N],i; int rech(int t[],int r,int m){
place les valeurs 10, 20, 5, 0 et 3 dans chacun des cinq éléments du int i=0 , trouve= 0;//zéro
tableau tab. for (i=0; i<N ; i++){//Lecture while( (i < m)&&(trouve == 0)){
printf("Entrez t[%d]=",i); if (t[i] == r) trouve= 1;
Il est possible de ne mentionner dans les accolades que les premières else i++;
valeurs, comme dans ces exemples : scanf("%d", &t[i]); }
} if (i == m) return -1;
int tab[5] = { 10, 20 } ;
return i;
for (i=0; i<N ; i++){ //Affichage }
int tab[5] = { 10, 20, 5 } ;
printf("%d \t ", t[i]);
Les valeurs manquantes seront, suivant le compilateur, initialisées à
zéro (statique) ou aléatoires (automatique). }
37
Les Tableaux Les Tableaux
Comme tous les langages, C autorise les tableaux à plusieurs indices Les éléments d’un tableau sont rangés suivant l’ordre obtenu en faisant
(on dit aussi à plusieurs dimensions). varier le dernier indice en premier. Ainsi, le tableau t déclaré précédemment
verrait ses éléments ordonnés comme suit :
Par exemple, la déclaration : int t[5][3];
réserve un tableau de 15 (5 x 3) éléments. Un élément quelconque
t[0][0]
de ce tableau se trouve alors repéré par deux indices comme dans
t[0][1]
ces notations :
t[0][2]
t[3][2] t[i][j] t[i-3][i+j]
t[1][0]
t[1][1]
Remarque t[1][2]
Aucune limitation ne pèse sur le nombre d’indices que peut comporter un ....
tableau. Seules les limitations de taille mémoire liées à un environnement t[4][0]
donné risquent de se faire sentir. t[4][1]
t[4][2]
38
Les Tableaux Les Tableaux
Initialisation de tableaux à plusieurs indices
Voyez ces deux exemples équivalents (nous avons volontairement choisi des
valeurs consécutives pour qu’il soit plus facile de comparer les deux
formulations) :
Langage C :
int tab [3] [4] = { { 1, 2, 3, 4 } ,{ 5, 6, 7, 8 }, { 9,10,11,12 } }
39
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau: Tri à bulles Les algorithmes de Tri d’un tableau
L'algorithme de tri par propagation consiste à inverser deux éléments Tri à bulles
successifs s'ils ne sont pas classés dans le bon ordre et à recommencer
jusqu'à ce que l'on parcoure le tableau sans effectuer une seule inversion.
Ainsi, un petit élément sera échangé plusieurs fois avec ses prédécesseurs
jusqu'à atteindre son emplacement définitif : il va se propager peu à peu, ou
«remonter» vers la bonne position lentement, comme une bulle d'air
remonte peu à peu à la surface.
L’algorithme en langage C :
tri_a_bulle_c(int t[],int n){
int j =0;int tmp =0;bool permutation = true;
while(permutation){
permutation = false;
for(j =0; j < n-1; j++){
if(t[j] > t[j+1]){
tmp = t[j+1];
t[j+1] = t[j];t[j] = tmp;
permutation = true;
}}}}
40
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau: Tri par sélection Les algorithmes de Tri d’un tableau:
Pour trier un tableau par sélection. Le principe est simple : nous allons chercher le Tri par sélection
minimum du tableau et l'échanger avec le premier élément. Puis on réitère l'opération
: on recherche le minimum du tableau (privé toutefois du premier élément) et on
l'échange avec le second. On réitère la même opération et on l’échange avec le
troisième ainsi de suite. On obtient ainsi un tableau entièrement ordonné par ordre
croissant. C'est l'un des algorithmes les plus simples et intuitifs.
L’algorithme en langage C:
tri_selection(int t [], int n){
int i, min, j , tmp;
for(i =0; i < n -1; i++){
min = i;
for(j = i+1; j < n ; j++)// chercher le min
if(t[j] < t[min])
min = j;
if(min != i){
tmp = t[i];
t[i] = t[min];
t[min] = tmp;
}}}
41
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Tri insertion Les algorithmes de Tri d’un tableau :
Le principe du tri par insertion est le principe utilisé par tout un Tri insertion
chacun pour ranger ses cartes : on les classe au fur et à mesure.
Imaginons que dans une main de 5 cartes, nous ayons déjà trié les
trois premières, nous arrivons donc à la quatrième carte. Que fait-on
? Eh bien c'est simple, on la sort du paquet de cartes pour l'insérer à
la bonne place dans la partie des cartes déjà triées.
L’algorithme en langage C:
tri_insertion(int t [] ,int n){
int i, j;
int en_cours;
for (i = 1; i < n; i++) {
en_cours = t[i];
for (j = i; j > 0 && t[j - 1] > en_cours; j--) {
t[j] = t[j - 1];
}
t[j] = en_cours;
}
}
42
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Les algorithmes de Tri d’un tableau :
Tri fusion Tri fusion : Exemple
Prenons comme exemple du tableau suivait:
Le tri fusion est un algorithme de tri par comparaison efficace, il se base sur
le principe du diviser pour régner. 5, 1, 3, 8, 9, 6 que l’on veut trier avec le tri fusion
dans l’ordre croissant :
Principe de l’algorithme 1ère étape : diviser
5, 1, 3 | 8, 9, 6 -> on divise le tableau en deux.
L'algorithme se compose de deux parties distinctes :
5, | 1, 3 | 8 | 9, 6 -> on divise en deux les sous
• Diviser : on divise récursivement le tableau, c'est-à-dire qu'on va couper tableaux.
le tableau en deux sous tableaux et recommencer cette opération sur ces 5 | 1 | 3 | 8 | 9 | 6 -> chaque sous tableau est de
derniers jusqu'à ce que chaque sous tableau ne contienne plus qu'un seul nouveau divisé pour n'avoir plus qu'un seul élément.
élément.
• Fusionner : une fois notre tableau divisé en N sous tableaux (N étant le 2ème étape : fusionner
nombre d'éléments), on fusionne deux à deux les tableaux en réorganisant 1, 5 | 3, 8 | 6, 9 -> on prend deux sous tableaux
les éléments dans l'ordre du tri (croissant ou décroissant). adjacents que l'on fusionne en les ordonnant.
1, 3, 5, 8 | 6, 9 -> on continue la fusion des sous
tableaux.
L'intérêt de diviser pour ensuite fusionner est que créer un tableau trié à 1, 3, 5, 6, 8, 9 -> le tableau ne contient plus de sous
partir de deux sous tableaux peut s'effectuer en temps linéaire. C'est ce tableaux, il est donc trié.
point en particulier qui fait la rapidité du tri fusion. 1, 3, 5, 6, 8, 9
43
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Les algorithmes de Tri d’un tableau : Tri fusion
Tri fusion #include <stdio.h>
#include <stdlib.h>
44
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Tri rapide
Les algorithmes de Tri d’un tableau : Tri rapide #include <stdio.h>
void permuter(int *a, int *b) {
Tri rapide est un algorithme qui repose sur le principe int tmp;
tmp = *a;
Diviser pour Régner. Les étapes sont les suivantes: *a = *b;
1. Choisissez un élément du tableau, cet élément est *b = tmp;
}
appelé l’élément pivot. void triRapid(int tab[], int first, int last) {
2. Divisez le tableau non trié d’éléments en deux tableaux int pivot, i, j;
if(first < last) {
dont la valeur est inférieure au pivot et qui figurent pivot = first;
dans le premier sous-tableau. Tous les éléments dont i = first;
j = last;
la valeur est supérieure au pivot figurent dans le while (i < j) {
deuxième sous-tableau (des valeurs égales peuvent while(tab[i] <= tab[pivot] && i < last)
i++;
aller dans les deux sens). Cette étape s’appelle while(tab[j] > tab[pivot])
l’opération de partition. j--;
if(i < j) {
3. Répétez de manière récursive l’étape 2 (jusqu’à ce que permuter(&tab[i], &tab[j]);
les sous-tableaux soient triés). }
}
45
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Tri rapide Les algorithmes de Tri d’un tableau : Tri rapide (Version 2)
(suite) void echanger(int tableau[], int a, int b)
{
int temp = tableau[a];
permuter(&tab[pivot], &tab[j]); tableau[a] = tableau[b];
triRapid(tab, first, j - 1); tableau[b] = temp;
triRapid(tab, j + 1, last); }
}
} void quickSort(int tableau[], int debut, int fin)
int main() { {
int gauche = debut-1;
int tab[100], nbr, i; int droite = fin+1;
printf("\n Entrer le nombre total d'éléments : "); const int pivot = tableau[debut];
scanf("%d", &nbr); /* Si le tableau est de longueur nulle, il n'y a rien à faire. */
printf("\n Entrer les éléments du tableau : "); if(debut >= fin) return;
for(i = 0; i < nbr; i++) /* Sinon, on parcourt le tableau, une fois de droite à gauche, et une autre de gauche à droite, à la
scanf("%d", &tab[i]); recherche d'éléments mal placés, que l'on permute. Si les deux parcours se croisent, on arrête. */
triRapid(tab, 0, nbr - 1); while(1)
{
printf("\n Tableau trié : "); do droite--;
for(i = 0; i < nbr; i++) { while(tableau[droite] > pivot);
printf(" %4d", tab[i]); do gauche++;
} while(tableau[gauche] < pivot);
printf("\n"); if(gauche < droite) echanger(tableau, gauche, droite); else break;
return 0; } /* Maintenant, tous les éléments inférieurs au pivot sont avant ceux supérieurs au pivot. On a
} donc deux groupes de cases à trier. On utilise pour cela... la méthode quickSort elle-même ! */
quickSort(tableau, debut, droite); quickSort(tableau, droite+1, fin);
}
46
Les Tableaux Les Tableaux
Les algorithmes de Tri d’un tableau : Tri rapide Les algorithmes de Tri d’un tableau : Tri rapide
47
Les Tableaux Les Tableaux
#include<stdio.h>
#include<stdlib.h>
#define dim 10 Ecrire un programme C qui permet de :
main() 1. Lire la taille N de deux tableaux A et B du type entier;
{
float tab[dim]; 2. Remplir les tableaux par des valeurs entrées au clavier;
int i; 3. Créer et afficher un tableau S qui sera la somme des éléments des
float somme,moyenne;
/****** Remplissage du Tableau****/ deux tableaux de départ.
somme=0;
for(i=0;i<dim;i++)
{
printf("Element %d du tableau :",i+1);
scanf("%f",&tab[i]);
somme=somme+tab[i]; /*calcul de la somme */
printf("\n");
}
/****** Calcul de la moyenne****/
moyenne=somme/dim;
/****** Affichage du Tableau****/
for(i=0;i<dim;i++)
{
printf("tab[%d]:%0.0f \n",i+1,tab[i]);
}
/****** Affichage de la moyenne****/
printf("La moyenne du tableau est %.2f\n.",moyenne);
system("pause");
}
48
Les Tableaux Les Tableaux
Solution: Exercices
#include<stdio.h> Exercice 1 :
main(){ Ecrire un programme C qui permet de saisir un nombre entier et de vérifier sa parité
int i, n, A[20], B[20], S[20]; (pair ou impaire).
printf("Entrer la taille des 2 tableaux : "); printf("\nAffichage du tableau Exercice 2:
A:\n");
scanf("%d",&n); Ecrire une fonction qui retourne la max de deux valeur A et B.
for(i = 0; i < n; i++){
printf("\nRemplissage du tableau printf("%d\t",A[i]); Exercice 3:
A:\n"); } Ecrire la fonction age(?) qui renvoie l’âge, en jours, d’une personne en saisissant sa
for(i = 0; i < n; i++){ date de naissance (jour, mois , année).
printf("\nAffichage du tableau
printf("Entrer l'element %d :", i+1); B:\n"); Exercice 4 :
scanf("%d",&A[i]); for(i = 0; i < n; i++){ Ecrire une fonction qui calcul la surface d’un rectangle de longueur A et de largeur B.
printf("%d\t",B[i]); Exercice 5 :
}
} Ecrire une fonction qui prend un tableau de 5 entiers, puis retourne la valeur Vraie ou
printf("\nLe tableau Somme
Faux selon que le tableau est trié par ordre croissant ou non.
printf("\nRemplissage du tableau est:\n");
B:\n"); for(i = 0; i < n; i++){
S[i] = A[i] + B[i];
for(i = 0; i < n; i++){ printf("%d\t",S[i]);
printf("Entrer l'element %d :", i+1); }
getchar();
scanf("%d",&B[i]);
getchar();
} }
49
Les Tableaux
Exercice 7 :
Ecrire le programme qui permet de calculer la moyenne des éléments d’un tableau.
Exercice 8 :
Ecrire le programme qui permet de copier le contenu d’un tableau dans un autre.
Exercice 9 :
Ecrire un programme qui permet de remplir un tableau de caractères et calcul le
nombre de voyelles saisis.
Exercice 10:
Donner un programme en langage C qui permet de trier 6 éléments tapé par clavier
(utilisez les tableaux).
Exercice 11 :
Ecrire le programme qui permet de calculer la moyenne par ligne des éléments d’un
tableau de deux dimensions.
Exercice 12:
Ecrire le programme qui permet de calculer la somme des éléments diagonales d’une
matrice M(n,n);
Exercice 13 :
Ecrire le programme qui permet de calculer la transposée d’une matrice M(n,n);
50