You are on page 1of 4

Solution de la série Tp4 : Tableaux

1- Les Vecteurs
program tp4ex1; program TP4Ex2;
Const N=10; Const N = 5 ;
var Chaine : Array [1..N] of Char; var V : Array [1..N] of Real;
nb , i : integer ; i : integer ;
Car : Char; max, min : Real;
BEGIN
BEGIN // Lecture de V.
// Lecture de Chaine for i:= 1 to N do
for i:= 1 to N do begin
begin write('V[',i, '] : ');
write('Chaine[',i, '] : '); readln(V[i]);
readln(Chaine[i]); end;
end; //Calul de Max, Min
// Lecture de car min := V[1];
write('donner un caractere : '); max := V[1];
readln(Car); for i := 1 to N do
// Vérification si « car » existe dans le tableau « chaine » begin
ou non if V[i] <= min then
nb :=0; min := V[i];
for i:=1 to N do if V[i] >= min then
begin max := V[i];
if car = Chaine[i] then end;
begin
nb := nb + 1; // Normalisation de V
chaine [i]:= '.'; for i := 1 to N do
end; V[i] := (V[i] - min ) / (max - min) ;
end; // Affichage de V
if nb = 0 then for i:= 1 to N Do
writeln(car, 'n existe pas dans chaine ') Write(V[i],' ');
else
writeln(car , ' apparait ', nb , ' fois '); END.
// Affichage de Chaine
for i:= 1 to N Do
Write(Chaine[i]:3);
END.
program TP4Ex3; program TP4Ex4;
Const N = 5 ; Const N = 10;
var T1, T2 : Array [1..N] of Integer; var U, V, W : Array [1..N] of Integer;
T : Array [1..2*N] of Integer ; i,j,k : integer ;
i, k : integer ; BEGIN
BEGIN // Lecture de W.
// Lecture de T1. for i:= 1 to N do
for i:= 1 to N do begin
begin write('W[',i, '] : ');
write('T1[',i, '] : '); readln(W[i]);
readln(T1[i]); end;
end;
// Lecture de T2. //Construction de U, V
for i:= 1 to N do j:=1; // j : compteur des nbrs pairs
begin k:=1; // j : compteur des nbrs impairs
write('T2[',i, '] : '); for i := 1 to N do
readln(T2[i]); if W[i] mod 2 = 0 then
end; begin
//Construction de T U[j]:= W[i];
k:=1; j := j+1;
for i := 1 to N do end
if T1[i] >= 0 then else
begin begin
T[k]:= T1[i]; V[k]:= W[i];
k := K+1; k := K+1;
end; end;
for i := 1 to N do // Affichage de U , V
if T2[i] >= 0 then write('U : ');
begin for i:= 1 to j-1 Do
T[k]:= T2[i]; Write(U[i],' ');
k := k+1; writeln;
end; write('V : ');
// Affichage de T for i:= 1 to k-1 Do
for i:= 1 to 2*N Do Write(V[i],' ');
Write(T[i],' '); END.
END.
2- Les Matrices

program TP4ex5; program TP4ex6;


Const L = 3; C = 4; Const N = 4;
var M : Array[1..L, 1..C] of Integer ; var A,L,U,D, AA : Array[1..N, 1..N] of Integer ;
i , j, Max, Min, X , nb : Integer; i , j : Integer;
BEGIN
BEGIN // Lecture de A
// Lecture de M For i := 1 To N Do
For i := 1 To L Do For j := 1 To N Do
For j := 1 To C Do Begin
Begin Write('A[',i,',',j,']: ' );
Write('M[',i,',',j,']: ' ); ReadLN (A[i,j]);
ReadLN (M[i,j]); End;
End; // Affichage de la diagonale principale
// calcul de Max, Min; writeln;
max := M[1,1]; WriteLn('diagonale principale :');
min := M[1,1]; for i:=1 to N do
For i := 1 To L Do write(A[i,i],' ');
For j := 1 To C Do // Affichage de la diagonale inverse
begin writeln;
if M[i,j] >= max then WriteLn('diagonale inverse :');
Max := M[i,j]; for i:=1 to N do
if M[i,j] <= min then write(A[i,N-i+1],' ');
min := M[i,j]; // Construction de L ,U , D; Writeln('L : ');
end; For i := 1 To N Do For i := 1 To N Do
//Affichage de M For j := 1 To N Do Begin
Writeln('M :'); begin For j := 1 To N Do
For i := 1 To L Do D[i,j] := 0 ; Write(L[i,j], ' ');
Begin L[i,j] := 0 ; WriteLN ;
For j := 1 To C Do U[i,j] := 0 ; End;
Write(M[i,j], ' '); if i = j then Writeln('U :');
WriteLN ; D[i,j] := A[i,j]; For i := 1 To N Do
End; if i >= j then Begin
Writeln('Max = ', max); L[i,j] := A[i,j]; For j := 1 To N Do
Writeln('Min = ', min); if i <= j then Write(U[i,j], ' ');
// Recherche d'un entier X dans M' U[i,j] := A[i,j]; WriteLN ;
Write('Donner un entier X :'); end; End;
Readln(X); // Construction de AA Writeln('D :');
nb :=0; // nombre d'occurence de X For i := 1 To N Do For i := 1 To N Do
For i := 1 To L Do For j := 1 To N Do Begin
For j := 1 To C Do AA[i,j] := L[i,j] + U[i,j] - D[i,j]; For j := 1 To N Do
if M[i,j] = X then //Affcihage de A, L, U, D, AA Write(D[i,j], ' ');
begin writeln; WriteLN ;
Nb := Nb +1; Writeln('A :'); End;
writeln(X,' Ligne : ', i , 'Colonne : ', j); For i := 1 To N Do Writeln('AA :');
end; Begin For i := 1 To N Do
if nb = 0 then For j := 1 To N Do Begin
writeln(X,' n existe pas dans M ') Write(A[i,j], ' '); For j := 1 To N Do
else WriteLN ; Write(AA[i,j], ' ');
writeln(X,' existe ', nb ,' fois dans M : '); End; WriteLN ;
END. End;
END.
program TP4ex7;
Const L = 3; C = 4;
var M : Array[1..L, 1..C] of Integer ;
MM : Array[1..C, 1..L] of Integer ;
V : Array [1..L*C] of Integer ;
i , j ,K: Integer;

BEGIN
// Lecture de M
For i := 1 To L Do
For j := 1 To C Do
Begin
Write('M[',i,',',j,']: ' );
ReadLN (M[i,j]);
End;
// Transformation de M en vecteur V;
K:=1;
For i := 1 To L Do
For j := 1 To C Do
begin
V[k] := M[i,j];
k := k+1;
end;
// Transformation de V en Matrice MM(4x3);
i:=1;
j:=1;
For K := 1 To L*C Do
begin
MM[i,j] := V[k] ;
j:= j+1;
if k mod L = 0 then
begin
j:=1;
i:=i+1;
end;
end;
//Affichage de M //Affichage de V
writeln; write('V : ');
Writeln('M :'); for i:= 1 to L*C Do
For i := 1 To L Do Write(V[i],' ');
Begin //Affichage de MM
For j := 1 To C Do writeln;
Write(M[i,j], ' '); Writeln('MM :');
WriteLN ; For i := 1 To C Do
End; Begin
writeln; For j := 1 To L Do
Write(MM[i,j], ' ');
WriteLN ;
End;
END.

You might also like