Compactage d'une matrice (tableau 2D)
assouma
-
petite info Messages postés 65 Statut Membre -
petite info Messages postés 65 Statut Membre -
Bonjour,
Est-ce qu'il y'a quelqu'un qui peut m'aider pour faire un programme en Pascal, qui permet de mettre tous les éléments nuls d'une matrice à la fin de celle-ci ?? voilà mon programme que je le fait mais ça me donne pas ce que je veux. Merci
program compactage;
uses wincrt;
var
mat:array[1..10,1..10] of integer;
i,j:integer;
k,l:integer;
n,m:integer; {n c'est le nombre de ligne
et m c'est le nombre de colonne}
f:boolean;
c:integer;
BEGIN
write ('entrer le nombre de ligne n et le nombre de colonne m');
read (n,m);
write ('entrer les nombre de cette matrice:');
for i:=1 to n do
BEGIN
for j:=1 to m do
read(mat[i,j]);
END;
for i:=1 to n do
begin
for j:=1 to m do
begin
f:=true;
if(mat[i,j]=0) THEN
for k:=n downto 1 do
BEGIN
for l:=m downto 1 do
begin
if(mat [n,m]<>0) and(f=true) then
begin
c:=mat[i,j];
mat[i,j]:=mat [n,m];
mat[n,m]:=c;f:=false;
end;
end;
END;
end;
end;
WRITE ('la nouvelle matrice:');
for i:=1 to n do
begin
for j:=1 to m do
BEGIN
WRITELN(maT[i,j]);
write ('');
end;
writeln('');
END;
END.
Est-ce qu'il y'a quelqu'un qui peut m'aider pour faire un programme en Pascal, qui permet de mettre tous les éléments nuls d'une matrice à la fin de celle-ci ?? voilà mon programme que je le fait mais ça me donne pas ce que je veux. Merci
program compactage;
uses wincrt;
var
mat:array[1..10,1..10] of integer;
i,j:integer;
k,l:integer;
n,m:integer; {n c'est le nombre de ligne
et m c'est le nombre de colonne}
f:boolean;
c:integer;
BEGIN
write ('entrer le nombre de ligne n et le nombre de colonne m');
read (n,m);
write ('entrer les nombre de cette matrice:');
for i:=1 to n do
BEGIN
for j:=1 to m do
read(mat[i,j]);
END;
for i:=1 to n do
begin
for j:=1 to m do
begin
f:=true;
if(mat[i,j]=0) THEN
for k:=n downto 1 do
BEGIN
for l:=m downto 1 do
begin
if(mat [n,m]<>0) and(f=true) then
begin
c:=mat[i,j];
mat[i,j]:=mat [n,m];
mat[n,m]:=c;f:=false;
end;
end;
END;
end;
end;
WRITE ('la nouvelle matrice:');
for i:=1 to n do
begin
for j:=1 to m do
BEGIN
WRITELN(maT[i,j]);
write ('');
end;
writeln('');
END;
END.
A voir également:
- Compactage d'une matrice (tableau 2D)
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Imprimer tableau excel sur une page - Guide
- Tableau croisé dynamique - Guide