8PRO100 Éléments de programmation Les tableaux multi-dimensionnels.

Slides:



Advertisements
Présentations similaires
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.
Advertisements

Introduction au Langage C,C++
Programmation Orienté Objet en C++
Rappels C.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Applications sur les algorithmes récurrents avec Les Matrices
Enseignant responsable :
Algorithme et structure de données
Les pointeurs Manipulation d'adresses et de ce qui est contenu dans ces adresses Très important, fondamental même en C mauvaise réputation : 'dur à comprendre',
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.
Algorithme et programmation
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
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
Séances de soutien Projet informatique 2A
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
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.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Modèles d’implantation
Une nouvelle structure de données : les tableaux
Principes de programmation (suite)
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.
Structures de données IFT Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009.
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.
Structures de données IFT-2000
Plan cours La notion de pointeur et d’adresse mémoire.
Les Types de données complexes
Structures de données IFT-2000
La librairie assert.h.
Cours 7 Divers et exceptions. Chapitre V Enumeration, tableaux, conversion de types, noms.
Stocker plusieurs valeurs de même type dans une variable
Le langage C Structures de données
2.1 - Historique Chapitre 2 : Introduction au langage C++
Quel que soit le soin apporté à l'écriture de votre programme, il contiendra toujours quelques erreurs, ou bogues, qui l'empêcheront de fonctionner comme.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
Labo II : Tableaux et pointeurs
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
Argc et argv Utilisation des paramètres de la ligne de commande.
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()
Cours 4 - Trois algorithmes de recherche dans un tableau
Strings et Tableaux en Java
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Les types composés Les enregistrements.
8PRO100 Éléments de programmation Les pointeurs de caractères.
Cours LCS N°4 Présenté par Mr: LALLALI
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
2.1- DESCRIPTION DES TABLEAUX
LIFI-Java 2004 Séance du Mercredi 29 sept. Cours 4.
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 tableaux multidimensionnels.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Cours 5 - Trois algorithmes de tri d'un tableau
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.
PRO-1027 Programmation Scientifique en C
Matrices, déclaration en CSharp
Les Tableaux en JAVA.
Int 10. Int 6.
Quelle est la valeur de S après exécution des instructions suivantes :
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
QCM 5 / Q1 Soit le pointeur de fichier défini par FILE *fp ; on veut ouvrir le fichier " C:/Mesdocuments/essai.txt " en mode écriture. Quelles sont les.
Transcription de la présentation:

8PRO100 Éléments de programmation Les tableaux multi-dimensionnels

Tableau à deux dimensions Tableau de 3 lignes et 2 colonnes: 1 . . 5 12 3 54 23 11 1 T[0][0] int T[0][1] int 2 T[1][0] int T[1][1] int T[2][0] int T[2][1] Déclaration en C: int T[3][2]; . .

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

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érieur à 2.

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

Étude de cas 10.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, suivits des entiers de la table données ligne par ligne.

Étude de cas 10.1 Exemple 3 4 12 1 45 67 3 54 5 65 2 31 11 3

Étude de cas 10.1 #define MAXLIGNE 1000 #define MAXCOL 80 main(){ int n, m; int TAB[MAXLIGNE][MAXCOL] cin>> n >>m; liremat(TAB, n, m) ecriremat(TAB, n, m) }

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

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

Étude de cas 10.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ées ligne par ligne.

Étude de cas 10.2 Exemple 3 12 1 45 3 54 5 2 31 11 23 54 76 12 45 87 51 23 64

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

Étude de cas 10.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 10.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 10.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; }