WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Структуровані типи даних. Операції над двомірними масивами - Курсова робота

Структуровані типи даних. Операції над двомірними масивами - Курсова робота

-12.5
Program obernena; {Знаходження оберненої матриці}
Const dim1=20;
dim2=40;{dim2=2*dim1}
Type ar=array[1..dim1,1..dim1] of real;
ar1=array[1..dim1,1..dim2] of real;
Var i,j,k,n1:integer; n:integer;Var m:ar;e:real;
t,s:real;
a:ar1;
Begin
readln(e); {Ввід точності обчислень}
write('Введіть розмірність матриці М');
readln(n); {Ввфд розмірності квадратної матриці}
write('Введіть матрицю М');
For i:=1 to n do
For j:=1 to n do
read(m[i,j]); {Ввід матриці}
n1:=2*n;
For i:=1 to n do
For j:=1 to n1 do
if j<=n then a[i,j]:=m[i,j]
else if j=n+i then a[i,j]:=1
else a[i,j]:=0;
For i:=1 to n do
begin k:=i;s:=a[i,i];
for j:=i+1 to n do
begin t:=a[j,i];
if abs(s)if abs(s)write('M-вироджена');Halt end;
For j:=i to n1 do
begin t:=a[k,j];a[k,j]:=a[i,j];a[i,j]:=t/s;end; {Знаходження елементів оберненої }
For k:=1 to n do {матриці}
рrgram dob_mas;
Const dim1=30;
dim2=40;
dim3=30;
Type ar1=array[1..dim2,1..dim1] of real;
ar2=array[1..dim3,1..dim2] of real;
ar3=array[1..dim1,1..dim3] of real;
Var i,j,k,l,n,m:integer;
A:ar1;
B:ar2;
C:ar3;
Begin
write('Введіть розмірність матриці М');
readln(n,m,l);
write('Введіть матрицю А');
For i:=1 to n do
For j:=1 to m do
read(A[i,j]);
write('Введіть матрицю В');
For i:=1 to l do
For j:=1 to n do
read(B[i,j]);
For i:=1 to m do
For j:=1 to l do
For k:=1 to n do
C[i,j]:=C[i,j]+A[k,i]*B[j,k];
For i:=1 to m do
For j:=1 to l do
writeln(C[i,j]);
End.
Результати:
n=2,m=2,l=2,
1 2 3 4
3 4 1 2
рrogram dilennya; {Ділення двох матриць}
Const dim1=20;
dim2=40;{dim2=2*dim1}
Type ar1=array[1..dim1,1..dim1] of real;
ar2=array[1..dim1,1..dim1] of real;
ar3=array[1..dim1,1..dim2] of real;
ar4=array[1..dim1,1..dim2] of real;
Var i,j,k,n1:integer; n:integer; M:ar3;e:real;
t,s:real;
A:ar1;B:ar2;c:ar4;
Begin
readln(e); {Знаходження оберненої матриці }
write('Введіть розмірність матриці М');
readln(n);
write('Введіть матрицю M');
For i:=1 to n do
For j:=1 to n do
read(M[i,j]);
write('Введіть матрицю B');
For i:=1 to n do
For j:=1 to n do
read(B[i,j]);
n1:=2*n;
For i:=1 to n do
For j:=1 to n1 do
if j<=n then a[i,j]:=m[i,j]
else if j=n+i then a[i,j]:=1
else a[i,j]:=0;
For i:=1 to n do
begin k:=i;s:=a[i,i];
for j:=i+1 to n do
begin t:=a[j,i];
if abs(s)if abs(s)write('M- вироджена');Halt end;
For j:=i to n1 do
begin t:=a[k,j];a[k,j]:=a[i,j];a[i,j]:=t/s;end;
For k:=1 to n do
if ki then
For j:=n1 downto 1 do
a[k,j]:=a[k,j]-a[i,j]*a[k,i];end;
For i:=1 to n do
For j:=1 to n do
m[i,j]:=a[i,j+n];
For i:=1 to n do
For j:=1 to n do
For k:=1 to n do
C[i,j]:=C[i,j]+B[k,i]*M[j,k]; {Множення матриці на обернену}
For i:=1 to n do
For j:=1 to n do
writeln(C[i,j]:6:2); {Вивід результату}
End.
Результати:
n=3
1 2 3 1 2 3
M= 4 5 6 B= 4 5 6
7 8 9 7 8 9
1 0 0
C= 0 1 0
0 0 1
Початок
Ввід n,m
i=1,n
j=1,m
Ввід А[i,j]
i=1,n
j=1,m
Ввід B[i,j]
i=1,n
j=1,m
C[i,j]=A[i,j]+B[i,j]
i=1,n
j=1,m
Вивід С[i,j]
Кінець
Початок
Ввід n,m
i=1,n
j=1,m
Ввід А[i,j]
i=1,n
j=1,m
Ввід B[i,j]
i=1,n
j=1,m
C[i,j]=A[i,j]-B[i,j]
i=1,n
j=1,m
Вивід С[i,j]
Кінець
Початок
Ввід n,m,l
i=1,n
j=1,m
Ввід А[i,j]
i=1,l
j=1,n
Ввід B[i,j]
i=1,m
j=1,l
k=1,n
C[i,j]=С[i,j]+А[k,i]*В[j,k]
i=1,m
j=1,l
Вивід С[i,j]
Початок
Ввід e,n
i=1,n
j=1,n
Ввід M[i,j]
n1=2*n
i=1,n
j=1,n
так j=n ні
a[i,j]=m[i,j] так j=n+1 ні
a[i,j]=1 a[i,j]=0
i=1,n
k=i s=a[i,i]
j=1,n
t=a[j,i]
s < t так
s=t k=j
s < e так М-вироджена
j=i,n1
t=a[k,j] a[k,j]=a[i,j] a[i,j]=t/s
k=1,n
ki
j=n1,1
a[k,j]=a[k,j]-a[i,j]*a[k,i]
i=1,n
j=1,n
M[i,j]=A[i,j=m]
i=1,n
j=1,n
Вивід M[i,j]
Кінець
Початок
Ввід e,n
i=1,n
j=1,n
Ввід M[i,j]
n1=2*n
i=1,n
j=1,n
так j=n ні
a[i,j]=m[i,j] так j=n+1 ні
a[i,j]=1 a[i,j]=0
i=1,n
k=i s=a[i,i]
j=1,n
t=a[j,i]
s < t так
s=t k=j
s < e так М-вироджена
j=i,n1
t=a[k,j] a[k,j]=a[i,j] a[i,j]=t/s
k=1,n
ki
j=n1,1
a[k,j]=a[k,j]-a[i,j]*a[k,i]
i=1,n
j=1,n
M[i,j]=A[i,j=m]
i=1,n
j=1,n
k=1,n
C[i,j]=С[i,j]+B[k,i]*M[j,k]
i=1,n
j=1,n
Вивід С[i,j]
Кінець
Початок
Ввід n
i=1,n
j=1,n
Ввід S1[i,j]
Ввід М
М=90 M=180 M=270
i=1,n i=1,n i=1,n
j=1,n j=1,n j=1,n
S2[i,j]=S1[n-j+1,i] S2[i,j]=S1[n-i+1,n-j+1] S2]i,j]=S1[j,n-i+1]
i=1,n
j=1,n
Вивід S2[i,j]
Кінець
Program kursov;
type E=ARRAY [1..3,1..3] of real;
var A,B,C,S:E;
f,a1,b1:real;
t:integer;
mass:char;
procedure INPUT (mass:char; var A:E);
var x,y,n:integer;
begin
writeln ('‚ўi¤ Ґ"ҐҐ­вiў бЁўг ',mass);
for y:=1 to 3 do
begin
for x:=1 to 3 do
read (A[x,y]);
end;
end;
procedure SUMM (A,B:E; var S:E);
var x,y:integer;
begin
for y:=1 to 3 do
for x:=1 to 3 do
S[x,y]:=A[x,y]+B[x,y];
end;
procedure SUB (A,B,S:E; var C:E;b2:real);
var x,y,i:integer;
begin
SUMM (A,B,S);
write ('Њ бЁў C');
for y:=1 to 3 do
begin
writeln;
for x:=1 to 3 do
begin
C[x,y]:=0;
for i:=1 to 3 do
C[x,y]:=C[x,y]+(S[i,x]*B[i,y]);
write (C[x,y]:7:2);
if (x=1) AND (y=1) then b2:=C[x,y]
else
if C[x,y]40 then a1:=0.2
else
a1:=0.11;
f:=SIN(a1*t)-EXP(2*a1*t)+b1;
writeln(t:8,f:16:4);
end;
end.
Початок
Ввід n,m
i=1,n
j=1,m
Ввід А[i,j]
i=1,n
j=1,m
Ввід B[i,j]
i=1,n
j=1,m
S[i,j]=A[i,j]+B[i,j]
i=1,m
j=1,l
k=1,n
C[i,j]=С[i,j]+А[k,i]*В[j,k]
i=1,n
j=1,m
Вивід С[i,j]
так х=1,y=1 ні
b2=C[x,y]
так C[x,y]b2=C[x,y]
Вивід b2
Кінець
Задача.
Надрукувати порядково матрицю С і її мінімальний елемент.
Для вирахування матриці С використати стандартну підпрограму додавання матриць і складену підпрограму множення матриць.
1,2 0,7 2,6 4,5 -6,8 -1,2
А= 3,3 0,4 2,0 В= 3,8 0,5 0,8
1,7 1,5 -0,2 1,2 0,6 0,25
-30,61 23,73 10,62
С= -36,09 -21,05 -6,26
-12,68 6,68 3,34
Loading...

 
 

Цікаве