Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Очень нужна помощь

Автор: Kirill_spb 18.05.2007 17:13

Люди пожайлуста помогите с прогой, я совсем чайник в паскале. Можете проверить на правильность?
Задача такова:
1. Разработать программы на языке Turbo Pascal для вычисления заданного матричного выражения
(А3х2-(В2х3)Т)*С2х4
Т - транспонирование


program proga1;
uses crt;
var
A:array[1..3,1..2] of integer;
B:array[1..2,1..3] of integer;
C:array[1..2,1..4] of integer;
ab:array[1..3,1..2] of integer;
abc:array[1..3,1..4] of integer;
i,j,n,k,l,m:integer;
f,f1,f2:text;
begin
n:=3;
m:=2;
k:=4;
clrscr;
{a}
writeln;
assign (f,'matrix.txt');
reset(f);
i:=1; j:=1;
while not eof(f) do begin
while not eoln(f) do begin
read(f,a[i,j]);
inc(j); j:=1;
end;
close(f);
assign (f1,'matrixb.txt');
reset(f1);
{b}
i:=1; j:=1;
while not eof(f1) do begin
while not eoln(f1) do begin
read(f1,b[i,j]);
inc(j);
end;
j:=1; inc(i); readln(f1);
end;

{c}
assign(f2,'matrixc.txt');
reset(f2);
i:=1; j:=1;

while not eof(f2) do begin
while not eoln(f2) do begin
read(f2,c[i,j]);
inc(j);
end;
inc(i); j:=1; readln(f2);
end;

{ writeln('--a--')'
for i:=1 to 3 do begin
for J:=1 to 2 do begin
write(a[i,j],' ')'
end;
writeln;
end;
writeln('--b--');
for i:=1 to 2 do begin
for j:=1 to 3 do begin
write(b[i,j],' ');
end;
writeln;

end;
write('--c--');
for i:=1 to 3 do begin
for j:=1 to 4 do begin
write(c[i,j],' ');
end;
write;
end;
readln;


}

{a-bT}
writeln('ab');
for i:=1 to 3 do begin
for j:=1 to 2 do begin
ab[i,j]:=a[i,j]-b[j,i];
write(ab[i,j],' ');
end;
writeln;
end;
readln;
end;

{AB*C}
i:=1;
while i<=n do begin
j:=1;
while j<=k do begin
{writeln(j,'',1,'m',m);}
abc[i,j]:=0;
l:=1;
while l<=m do begin
{writeln('ab[',i,',',l,']=',a[i,l],' c[',l,',',i,']=',c[i,l])}
abc[i,j]:=ab[i,j]+ab[i,l]*c[1,j];
{writeln('abc[',i,',',j,']=', abc[i,j]);}
{readln;}
{ inc(1); } l:=l+1;
{ writeln(l,'',l,'m',m); }
end;
i:=i+1;
{readln;}
end;
writeln('resultat');
for i:=1 to 3 do begin
for j:=1 to 4 do begin
write(abc[i,j],'');
end;
writeln;
end;
readln;
end;
readln;
end.