12. Sous-programmes

12.1. Sous-programmes-fonctions
• Définition de fonction
• Appel d’une fonction pour exécution
• Exemples et tâches avec fonctions

12.2. Sous-programmes procédures
• Définition de procédure
• 12.5. Appel d’une procédure pour exécution • Exemple

12.3. Transmission des paramètres entre sous- programmes
• Paramètres passés par valeur. Exemple
• Paramètres passés par référence. Exemples
• Tableaux unidimentionnels comme paramètres formels. Exemple
• Tableaux multidimentionnels comme paramètres formels. Exemple

12.4. Notion de "prototype". Exemple

 
 

• Les tableaux multidimentionnels comme paramètres formels. Exemple


Quand le paramètre formel est un tableau multidimensionnel on doit définir toutes les dimensions du tableau à l’exception de la première dans la signature du sous-programme, par exemple:
void readMatr( int n, int matr[][20]);

Exemple: Ecrire un programme qui évalue la somme de tous les éléments d’une matrice rectangulaire.
#include < iostream.h > void readMatr(int m, int matr[][3]) { int i, j; for(i=0;i < m;i++) for(j=0;j < 3;j++) { cout<<"matr["<< i <<"]["<< j <<"] = "; cin >> matr[i][j]; } } void writeMatr(int m, int matr[][3]) { int i,j; for(i=0;I < m;i++) for(j=0;j < 3;j++) cout<<"matr["<< i <<"]["<< j <<"]"<< matr[i][j]<< endl; } int sum(int m, int matr[][3]) { for(int s =0, i=0;i < m;i++) for(int j =0;j < 3;j++) s += matr[i][j]; return s; } int main() { int a[2][3]; readMatr(2,a); cout<<" suma = "<< sum(2,a)<< endl; writeMatr(2,a); return 0; }