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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.