Académique Documents
Professionnel Documents
Culture Documents
Procédure Produit_matriciel (A : Tab, B : Tab, VAR C : Tab, N: entier, M: entier, P : entier)
VAR
I, j : entier
Début
Pour i de 1 à N Faire
Pour j de 1 à P Faire
C[i][j] 0
Pour k de 1 à M Faire
Fin pour
Fin pour
Fin pour
Fin
Exercice5
VAR
Début
Pour i de 1 à N faire
Pour j de 1 à i-1 faire /* Les éléments de la diagonale de la matrice restent les mêmes après
transposition*/
Mat[i][j] Mat[j][i]
Fin si
Fin pour
Fin pour
Fin
Exercice 8
VAR
i, j : entier
Début
Pour i de 1 à N faire
Fin Si
Fin Pour
Fin Pour
Symétrique VRAI
Fin
Exercice10
Var
i, j : entier
Début
P [1, 1] 1
Pour i de 2 à N Faire
P [i, i] 1
P [i,1] 1
Fin Pour
Fin Pour
Fin
Exercice11 Les points cols d’une matrice
Première méthode :
Algorithme Points_cols
Const
Type
Var
A : tab
Fonction Lecture_ligne() :entier
Var
l :entier
Début
Répéter
Lire(l)
Lecture_ligne l
Fin
Var
Début
Répéter
Lire(l)
Jusqu’à (l >=1 et l<= 30)
Fin
Fonction Lecture_colonne() :entier
Var
c : entier
Début
Répéter
Lire(c)
Lecture_colonne c
Fin
Var
i ,j : entier
Début
Pour i de 1 à li Faire
Pour j de 1 à co Faire
Fin pour
Fin pour
Fin
Var
i,j : entier
Début
Pour i de 1 à li Faire
Pour j de 1 à co Faire
Ecrire (A [i][ j])
Fin pour
Fin pour
Fin
/* Prend en entrée une matrice A et le numéro d'une ligne de A et renvoie la valeur maximale dans
cette ligne. A (li, co) contient li lignes et co colonnes */
Var
j, Max :entier
Début
Pour j de 2 à co faire
Alors
Fsi
Fin pour
max_li Max
Fin
/* prend en entrée une matrice A et le numéro d'une colonne de A et renvoie la valeur minimale
dans cette colonne*/
Var
i, Min :entier
Début
Min A [1][colonne]
Pour i de 2 à li faire
Alors
Min A [i][colonne]
Fsi
Fin pour
min_co <- Min
Fin
Var
i, j , nb_pts_cols : entier
Pour i de 1 à li faire
Fin pour
Pour j de 1 à co faire
Fin pour
nb_pts_cols 0
Pour i de 1 à li faire
Pour j de 1 à co faire
Si (Tmax[i] = Tmin[j])
Alors
nb_pts_cols nb_pts_cols +1
Fsi
Fin pour
Fin pour
Si (nb_pts_cols = 0) alors
Fin
Début
/*Lecture_ligne(li)*/
li <- Lecture_ligne()
co <- Lecture_colonne()
Ecrire(« Affichage Matrice »)
Fin
Exemple
1 3 2 3 li=5 co=4
9 6 5 4
A = 11 13 8 7
0 3 1 3
10 9 3 5
Tmax = 3 9 13 3 10 Tmin = 0 3 1 3
Les points cols sont : A[1,2] A[1,4] A[4,2] A[4,4]
Deuxième méthode :
Cette méthode consiste à construire deux « matrices d’aide » MAX et MIN, de mêmes dimensions
que A. MAX contiendra des 1 aux positions correspondant dans A à un maximum sur une ligne, le
reste étant des zéros. De même MIN contiendra des 1 aux positions correspondant dans A à un
minimum sur une colonne, le reste étant des zéros. Il suffira alors de comparer ces matrices : les
positions contenant un 1 dans les deux matrices à la fois seront celles des points-cols dans A.
Var
Début
Pour i de 1 à li faire
Pour j de 1 à co faire
Si(A[i][j] = Maxl)
Alors MAX[i][j] 1
Sinon MAX[i][j] 0
Fsi
Fin pour
Fin pour
Pour j de 1 à co faire
Pour i de 1 à li faire
Si(A[i][j] = Minc)
Alors MIN[i][j] 1
Sinon MIN[i][j] 0
Fsi
Fin pour
Fin pour
nb_pts_cols = 0
Pour i de 1 à li faire
Pour j de 1 à co
Si (MAX[i][j]=1 et MIN[i][j]=1)
Alors
Fsi
Fin pour
Fin pour
Si (nb_pts_cols = 0) alors
Fin
Exemple
1 3 2 3
9 6 5 4
A = 11 13 8 7
0 3 1 3
10 9 3 5
0 1 0 1 0 1 0 1
1 0 0 0 0 0 0 0
MAX = 0 1 0 0 MIN = 0 0 0 0
0 1 0 1 1 1 1 1
1 0 0 0 0 0 0 0