8PRO107 Éléments de programmation Les tableaux multidimensionnels.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Cours de C – Séance dexercices 12 Octobre Exercice 5 Idem quexercice 1 : lire une ligne au clavier Sans limitation de la longueur de la ligne (utilisez.
Cours de C – Séance dexercices 25 Septembre 2007.
Les fonctions A quoi ça sert ?
Rappels C.
Algorithmique (suite)
Portée des variables VBA & Excel
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Applications sur les algorithmes récurrents avec Les Matrices
C.
Algorithme et structure de données
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Les fonctions en Java Partie I Le type void. Dans cette rapide présentation, je vais expliquer :.à quoi servent les fonctions.à quoi faut-il penser avant.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Algorithme et programmation
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Récursivité.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que lon veut allouer. Le premier exemple: #include void main()
TRAITEMENT DE STRUCTURES
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Modèles d’implantation
Une nouvelle structure de données : les tableaux
Points importants de la semaine Les tableaux. Rappel : les tableaux Quest-ce quun tableau ? Réponse : Un tableau est une série déléments de même type.
1 PROTOTYPE PGC++ Vecteur_3D DÉFINITION. 2 class Vecteur_3D { private : float vx, vy, vz, vw; // Représentation en coordonnées homogènes. public : Vecteur_3D();
8PRO107 Éléments de programmation
8PRO107 Éléments de programmation
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
CSI1502 Principes fondamentaux en conception des logiciels
Texture 2D en PGC++.
Les chaînes de caractères
Structures de données IFT Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009.
FONCTIONS avec paramètres en Entrée/Sortie
Formation C++. Hello World ! #include /* Commentaire sur plusieurs lignes */ int main() { //Affiche hello world std::cout
La librairie assert.h.
Stocker plusieurs valeurs de même type dans une variable
Le langage C Structures de données
B.Shishedjiev - Informatique II
Exercice Écrire l’analyse, l’algorithme et le programme Pascal qui calcule la somme des nombres d'un entier de 3 chiffres et de l’afficher EXEMPLE : N=123.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
Argc et argv Utilisation des paramètres de la ligne de commande.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que l’on veut allouer. Le premier exemple: #include void main()
Les Machines RAM.
1 Sixième journée Éléments de C++ La programmation typée Éléments de C++ La programmation typée.
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
P2. Le modèle multidimensionnel est bien adapté pour mesurer des données que l’on peut exprimer comme cela. Le modèle OLAP STD - Notes1.
8PRO100 Éléments de programmation Les tableaux multi-dimensionnels.
8PRO100 Éléments de programmation Les pointeurs de caractères.
2.1- DESCRIPTION DES TABLEAUX
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Introduction à la programmation (420-PK2-SL) cours 18 Gestion des applications Technologie de l’information (LEA.BW)
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Calculer la somme de deux nombres entiers relatifs
PRO-1027 Programmation Scientifique en C
Algorithmique Tableaux de données
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Question 1 Pour afficher un tableau d’entiers tab en C :
renvoie la moyenne d’un tableau d’entiers
Transcription de la présentation:

8PRO107 Éléments de programmation Les tableaux multidimensionnels

Tableau à deux dimensions tab2d[2][0] tab2d[1][1] tab2d[1][0] tab2d[0][1] tab2d[0][0] int tab2d[2][1] Tableau de 3 lignes et 2 colonnes: Déclaration en C++: int tab2d[3][2]; int

Tableau à deux dimensions Un tableau à deux dimension est un tableau de tableaux. Par exemple dans la déclaration int tab2d[3][2]; on a que tab2d est un tableau contenant 3 éléments et chaque élément tab2d[i] est un tableau de 2 entiers tab2d[2][0] tab2d[1][1] tab2d[1][0] tab2d[0][1] tab2d[0][0] int tab2d[2][1] { { { tab2d[0] tab2d[2] tab2d[1] int tab2d

Tableau à plusieurs dimensions En principe, on peut déclarer des tableaux possédant un nombre de dimensions arbitraire. En pratique, on utilise rarement des tableaux de dimension supérieure à 2.

Initialiser un tableau n×m int ligne, col, tab2d[100][80] ; for ( ligne = 0; ligne < 100; ligne++ ) for ( col = 0; col < 80; col++ ) tab2d[ligne][col] = 0 ;

Étude de cas 1 Description du problème: Lire une table d’entiers de n lignes et m colonnes. Afficher la table telle qu’elle était à l’entrée. Spécification de l’entrée: deux entiers représentant n et m, respectivement, suivis des entiers de la table donnés ligne par ligne.

Étude de cas 1 Exemple

Étude de cas 1 #define MAXLIGNE 100 #define MAXCOL 80 int main () { int n, m ; int mat[MAXLIGNE][MAXCOL] ; std::cin >> n >> m ; liremat(mat, n, m) ; ecriremat(mat, n, m) ; return 0 ; }

Étude de cas 1 void liremat ( int mat[MAXLIGNE][MAXCOL], int n, int m ) { int ligne, col ; for ( ligne = 0; ligne < n; ligne++ ) for (col=0; col < m; col++) std::cin >> mat[ligne][col] ; }

Étude de cas 1 void liremat ( int mat[MAXLIGNE][MAXCOL], int n, int m ) { int ligne, col ; for ( ligne = 0; ligne < n; ligne++ ) { for (col=0; col < m; col++) { std::cin >> mat[ligne][col] ; }

Étude de cas 1 void ecriremat ( int mat[MAXLIGNE][MAXCOL], int n, int m ) { int ligne, col ; for ( ligne = 0; ligne < n; ligne++ ) { for ( col = 0; col < m; col++ ) std::cout << mat[ligne][col] ; std::cout << std::endl ; }

Étude de cas 2 Description du problème: Lire deux matrices d’entiers n×n, les multiplier et afficher la matrice résultante. Spécification de l’entrée: Un entier représentant n suivis des entiers des matrices donnés ligne par ligne.

Étude de cas 2 Exemple

Étude de cas 2 #define MAX 100 int main () { int n ; int mat1[MAX][MAX] ; int mat2[MAX][MAX] ; int mat3[MAX][MAX] ; std::cin >> n ; liremat(mat1, n, n) ; liremat(mat2, n, n) ; multmat(mat1, mat2, mat3, n) ; ecriremat(mat3, n, n) ; return 0 ; }

Étude de cas 2 void multmat ( int mat1[][MAX], int mat2[][MAX], int mat3[][MAX], int n ) { int i, j ; for ( i = 0; i < n; i++ ) for ( j = 0; j < n; j++ ) calculer le produit de la i-ème ligne et de la j-ième colonne mettre le résultat dans mat3[i][j] }

Étude de cas 2 void multmat ( int mat1[][MAX], int mat2[][MAX], int mat3[][MAX], int n ) { int i, j ; for ( i = 0; i < n; i++ ) for ( j = 0; j < n; j++ ) mat3[i][j] = lparc(mat1, mat2, i, j, n) ; }

Étude de cas 2 int lparc ( int m1[][MAX], int m2[][MAX], int i, int j, int n ) { int k, somme ; somme = 0 ; for ( k = 0; k < n; k++ ) somme = somme + m1[i][k] * m2[k][j] ; return somme ; }