Programme manipulation de matrice
bonjour,
pouvez-vous m'aidez a faire un programme qui transforme une matrice simple (carré) en la meme matrice sauf qu'on doit prendre le losange qui est dont le tableau et le remplir en 0 exemple:
nous avons un tableau [5,5]
Code:
1 2 3 4 5
| 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25 |
tous ce qui est en rouge doit devenir des 0
après l'exécution il doit affiché:
Code:
1 2 3 4 5
| 1 2 0 4 5
6 0 0 0 10
0 0 0 0 0
16 0 0 0 20
21 22 0 24 25 |
d'après moi en doit prendre les diagonale des quatres petites matrice pour tracés le losange mais pour le remplir ,je c'est pas?
voila:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| program matrice;
uses crt;
var
a : array [1..50,1..50] of integer;
m,i,j,n : integer;
begin
gotoxy (10,10);
textcolor (3);
textbackground (12);
write;
writeln (' donner la taille du tableau ');
write;
readln (n);
write;
writeln (' donner les valeur du tableau');
for i:=1 to n do
begin
for j:=1 to n do
read (a[i,j]);
end;
m:= n div 2;
for i:=1 to m do
begin
for j:=1 to m do
a[m-i+1,m-j+1]:=0;
end;
for m:=n div 2 to n do
begin
for j:=1 to m do
a[i,i]:=0;
end;
for i:=1 to m do
begin
for m:= n div 2 to n do
a[i,i]:=0;
end;
for m:=n div 2 to n do
a[n-m+1,n-m+1]:=0;
write;
writeln (' le tableau apres ');
for i:=1 to n do
begin
for j:=1 to n do
writeln (a[i,j]);
end;
end. |
MERCI POUR VOTRE AIDE.