#4 KIIV
děkují
Příspěvky odeslané z IP adresy 188.120.199.–
Honza
Honza
a můžete mi napsat jak by vypadaly parametry proměnný tý procedury? abych se mohl od něčeho odpíchnout
Honza
Zdravím :) já bych potřeboval pomoct, vytvořil jsem program, který vypočítá matice a mým úkolem je snížit počet podprogramů na 3, takže výpisy bych potřeboval snížit do 1 pprg a v tom je ten háček, protože jsem nepřišel zatím na nic, co by fungovalo, nápady? budu vděčný :D
program maticka(input,output);
uses crt;
type matice=array[1..10,1..10] of byte;
var A,B,C:matice;
X,Y,Z:byte;
procedure CTI(M,N,P:byte; var A,B:matice);
var I,J:word;
begin
for I:=1 to M do
for J:=1 to N do
begin
write('a [',I,',',J,'] = ' );
readln(A[I,J]);
end;
for I:=1 to N do
for J:=1 to P do
begin
write('b [',I,',',J,'] = ');
readln(B[I,J]);
end
end;{CTI}
procedure SOUCIN(M,N,O:byte; var A,B,C:matice);
var I,J,K:word;
begin
for I:=1 to M do
begin for K:=1 to n do
begin
C[I,K]:=0;
for J:=1 to o do
begin
C[I,K]:=C[I,K]+(A[I,J]*B[J,K]);
end;
end;
end;
end;{SOUCIN}
procedure VYPIS1(N,O:byte; var A:matice);
var I,J:word;
begin for I:=1 to N do
for J:=1 to O do
begin
gotoxy(3*J,2*I+1);
write(A[I,J]);
end;
end;{VYPIS1}
procedure VYPIS2(N,O:byte; var B:matice);
var K,J:word;
begin
for J:=1 to N do
begin
for K:=1 to O do
begin
gotoxy(3*K+20,2*J+1);
write(B[J,K]);
end
end
end;{VYPIS2}
procedure VYPIS3(N,O:byte; var C:matice);
var J,K:word;
begin
for J:=1 to N do
begin for K:=1 to O do
begin
gotoxy(4*K+40,2*J+1);
write(C[J,K]);
end
end
end;{VYPIS3}
BEGIN
clrscr;
write('zadej pocet radku matA: ');
readln(Y);
write('zadej pocet sloupcu matA (stejny jako radky matB): ');
readln(X);
write('zadej pocet sloupcu matB: ');
readln(Z);
CTI(Y,X,Z,A,B);
clrscr;
SOUCIN(Y,Z,X,A,B,C);
gotoxy(3,1);
write('matice a');
VYPIS1(Y,X,A);
gotoxy(25,1);
write('matice b');
VYPIS2(X,Z,B);
gotoxy(45,1);
writeln('matice c');
VYPIS3(Y,Z,C);
readln;
end.