correction pratique 1 programmation
Page 1 sur 1
correction pratique 1 programmation
voici une autre solution
uses wincrt;
type
tab1=array[1..100,1..100]of char;
tab2=array[1..100,1..100]of integer;
tab=array[1..100]of integer;
var
i,j,n,s:integer;
m1:tab1;
m2:tab2;
v:tab;
procedure saisi_n(var n :integer);
begin
repeat
writeln('n=');
readln(n);
until n in [2..10];
end;
procedure remplir_m1 (var n: integer;var m1:tab1);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
writeln('m1[',i,',',j,'] = ');
readln(m1[i,j]);
end;
end;
end;
procedure affiche_m1(var n: integer;var m1:tab1);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
write(m1[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure ascii (var n: integer;var m1:tab1;var m2:tab2);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
m2[i,j]:=ord(m1[i,j] );
write(m2[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure inverse (var n: integer;var m2:tab2);
var
i,j,aux : integer;
begin
for i:=1 to n div 2 do
begin
for j:=1 to n div 2 do
begin
aux:=m2[i,j];
m2[i,j]:=m2[i,n-j+1];
m2[i,n-j+1]:=aux;
end;
end;
end;
procedure affiche_m2_inverse(var n: integer;var m2:tab2);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
write(m2[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure somme (var n,s: integer;var m1:tab1;var m2:tab2;var v : tab);
var
i,j: integer;
begin
for i:=1 to n do
begin
s:=0;
for j:=1 to n do
begin
s:=s+m2[i,j] ;
v[i]:=s;
end;
writeln( v[i]);
end;
end;
begin
saisi_n(n);
remplir_m1 ( n,m1);
affiche_m1( n,m1);
ascii ( n,m1,m2);
inverse (n,m2);
affiche_m2_inverse(n,m2);
somme (n,s,m1,m2,v);
end.
uses wincrt;
type
tab1=array[1..100,1..100]of char;
tab2=array[1..100,1..100]of integer;
tab=array[1..100]of integer;
var
i,j,n,s:integer;
m1:tab1;
m2:tab2;
v:tab;
procedure saisi_n(var n :integer);
begin
repeat
writeln('n=');
readln(n);
until n in [2..10];
end;
procedure remplir_m1 (var n: integer;var m1:tab1);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
writeln('m1[',i,',',j,'] = ');
readln(m1[i,j]);
end;
end;
end;
procedure affiche_m1(var n: integer;var m1:tab1);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
write(m1[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure ascii (var n: integer;var m1:tab1;var m2:tab2);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
m2[i,j]:=ord(m1[i,j] );
write(m2[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure inverse (var n: integer;var m2:tab2);
var
i,j,aux : integer;
begin
for i:=1 to n div 2 do
begin
for j:=1 to n div 2 do
begin
aux:=m2[i,j];
m2[i,j]:=m2[i,n-j+1];
m2[i,n-j+1]:=aux;
end;
end;
end;
procedure affiche_m2_inverse(var n: integer;var m2:tab2);
var
i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
write(m2[i,j]:5);
end;
writeln;
writeln;
end;
end;
procedure somme (var n,s: integer;var m1:tab1;var m2:tab2;var v : tab);
var
i,j: integer;
begin
for i:=1 to n do
begin
s:=0;
for j:=1 to n do
begin
s:=s+m2[i,j] ;
v[i]:=s;
end;
writeln( v[i]);
end;
end;
begin
saisi_n(n);
remplir_m1 ( n,m1);
affiche_m1( n,m1);
ascii ( n,m1,m2);
inverse (n,m2);
affiche_m2_inverse(n,m2);
somme (n,s,m1,m2,v);
end.
abdellaoui- Prof
- Messages : 22
Date d'inscription : 30/11/2009
Sujets similaires
» correction theorique 1 programmation
» cours de programmation en t.pascal
» probleme du programmation Bac info
» revision dc2 pratique
» correction dcprat2
» cours de programmation en t.pascal
» probleme du programmation Bac info
» revision dc2 pratique
» correction dcprat2
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum