Составьте программу обработки двумерных массивов.Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге(устанавливается пользователем) (n=5)
Задача
Определить матрицу С являющююся суммой нижней треугольной матрциы на верхнюю треугольную матрицу того же порядка
вот пример труегольной(n=5)
a[1,1]
a[2,1] a[2,2]
a[3,1] a[3,2] a[3,3]
a[4,1] a[4,2] a[4,3] a[4,4]
a[5,1] a[5,2] a[5,3] a[5,4] a[5,5]
я прочитал уйму литературы.по помоду массивов..но не могу понять как все это записывать..
ps "Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге" сделаю сам ^^
Что-то ты сам себе противоречишь... В заголовке написано "перемножение", в теме -
как ни странно так в задании и написанно суммой нижней и верхней треугольной матрицы того же порядка
Ну вот и складывай: 2 вложенных цикла, один по строкам, второй - по столбцам. Примеров сложения матриц на форуме куча. Если же для хранения своей матрицы ты используешь какую-то специальную структуру, то показывай какую...
эт у меня вторая лекция по паскалю..вот 2 задание по практике))
вот на лекции давали пример матрицы
Program Lab2;
uses crt;
const n=5;
Var a:array[1..n,1..n] of real;
x,b:array[1..n] of real;
i,j:integer;
fin,fout:text;
Begin
assign(fin,'d:\lab7\lab7.dat');
assign(fout,'d:\lab7\lab7.res');
reset(fin); rewrite(fout);
for i:=1 to n do
begin
for j:=1 to n do read(fin,a[i,j]);
readln(fin)
end;
for i:=1 to n do read(fin,b[i]);
close(fin);
writeln(fout,'Peshenie lab7');
writeln('Matrica koeficientov:');
for i:=1 to n do
begin
for j:=1 to i do write (fout,' ',a[i,j]:5:2);
writeln(fout);
end;
writeln('Vector cvobodnix 4lenov:');
for i:=1 to n do write(fout,' ',b[i]:5:2);
writeln('Vector reshenie:');
for i:=1 to n do write(fout,' ',x[i]:5:2);
close(fout);
writeln('Programma vipolneniy rezyltatov d faile labt.dat');
readln
End.
где ввод данных из файла и результат записывается в фаил...
и надо также напистаь программу по моему заданию(
т.к. при сложении матриц их элементы соответственно складываются..то я думаю будет так
a[1,1] a[1,1] a[1,2] a[1,3] a[1,4] a[1,5] 2a[1,1] a[1,2] a[1,3] a[1,4] a[1,5]
a[2,1] a[2,2] a[2,1] a[2,2] a[2,3] a[2,4] 2a[2,1] 2a[2,2] a[2,3] a[2,4]
a[3,1] a[3,2] a[3,3] + a[3,1] a[3,2] a[3,3] = 2a[3,1] 2a[3,2] 2a[3,3]
a[4,1] a[4,2] a[4,3] a[4,4] a[4,1] a[4,2] 2a[4,1] 2a[4,2] 2a[4,3] a[4,4]
a[5,1] a[5,2] a[5,3] a[5,4] a[5,5] a[5,1] 2a[5,1] a[5,2] a[5,3] a[5,4] a[5,5]
x x x x x
x x x x 0
x x x 0 0
x x 0 0 0
x 0 0 0 0
x x x x x
0 x x x x
0 0 x x x
0 0 0 x x
0 0 0 0 x
а да..точно..вы правы...но вот как это сделать((
Ну, как прочитать 2 матрицы - должно быть понятно... Тем более, ты написал в первом же посте, что ввод исходных данных сделаешь сам...
А сложить 2 матрицы -
for i := 1 to n do
for j := 1 to n do
C[i, j] := A[i, j] + B[i, j]; { <--- где A и B - две треугольных матрицы, C - результат}
все написал код..спс всем кто помогал..его можно дабавить в фак по матрицам...т.к. нет там аналоничного задания
Задание
Составьте программу обработки двумерных массивов.Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге(устанавливается пользователем) (n=5-порядок матрицы)
Определить матрицу С являющююся суммой нижней треугольной матрциы на верхнюю треугольную матрицу того же порядка
program lab7;
uses crt;
const nmax=5; nl=#13#10; w=5; v=1;
type Matrix=array[1..nmax,1..nmax] of real;
var matr1, matr2: Matrix;
resmatr: Matrix;
n, i, j: integer;
t1, t2, fout: text;
begin
clrscr;
assign(t1, 'D:\lab7\t1.txt'); reset(t1);
assign(t2, 'D:\lab7\t2.txt'); reset(t2);
assign(fout, 'D:\lab7\fout.txt'); rewrite(fout);
read(t1, n);
for i:=1 to n do
for j:=1 to n do
read(t1, matr1[i,j]);
for i:=1 to n do
for j:=1 to n do
read(t2, matr2[i,j]);
begin
for i:= 1 to n do
for j:=1 to n do
resmatr[i,j]:=matr1[i,j]+matr2[i,j];
end;
for i:=1 to n do
begin
for j:=1 to n do
write(fout, ' ', resmatr[i,j]:w:v);
write(fout, nl);
end;
writeln(fout, nl,nl, ' Nazarov Dima. ');
close(t1); close(t2); close(fout);
write(nl,nl, ' THE END. Rezultat v faile====)PreSS EnteR ');
readkey
end.