IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> матрицы(сложение), треугольные матрицы
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Составьте программу обработки двумерных массивов.Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге(устанавливается пользователем) (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 "Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге" сделаю сам ^^

Сообщение отредактировано: kvaga -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Что-то ты сам себе противоречишь... В заголовке написано "перемножение", в теме -
Цитата
являющююся суммой нижней треугольной матрциы на верхнюю треугольную матрицу того же порядка
... Что-то одно выбери уже...

Перемножение матриц, кстати, есть здесь: Массивы. Матрицы. Типичные задачи.
а складываются матрицы вообще поэлементно...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


как ни странно так в задании и написанно суммой нижней и верхней треугольной матрицы того же порядка
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Ну вот и складывай: 2 вложенных цикла, один по строкам, второй - по столбцам. Примеров сложения матриц на форуме куча. Если же для хранения своей матрицы ты используешь какую-то специальную структуру, то показывай какую...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


эт у меня вторая лекция по паскалю..вот 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.

где ввод данных из файла и результат записывается в фаил...

и надо также напистаь программу по моему заданию(

Сообщение отредактировано: kvaga -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


т.к. при сложении матриц их элементы соответственно складываются..то я думаю будет так


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]


Сообщение отредактировано: kvaga -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата
я думаю будет так
Так будет только в том случае, если элементы первой и второй матрицы с одинаковыми индексами равны друг другу.

И потом, верхнетреугольная матрица - это не такая:
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

(по определению, матрица A порядка N является верхней треугольной, если Aik = 0 для всех i > k)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


а да..точно..вы правы...но вот как это сделать((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Ну, как прочитать 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 - результат}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


все написал код..спс всем кто помогал..его можно дабавить в фак по матрицам...т.к. нет там аналоничного задания


Задание
Составьте программу обработки двумерных массивов.Организуйте ввод исходных данных из файла и вывод результатов в файлб находящийся на диске в каталоге(устанавливается пользователем) (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.


t1.txt { матрица первая}
t2.txt { матрица вторая }
например вводим в первый фаил нижнюю треугольную матрицу:
5 {порядок матрицы}
1 0 0 0 0
1 1 0 0 0
1 1 1 0 0
1 1 1 1 0
1 1 1 1 1
а во второй фаил верхнюю треугольную того же порядка
1 1 1 1 1
0 1 1 1 1
0 0 1 1 1
0 0 0 1 1
0 0 0 0 1

Программа высчитает результат и в файле результата напишет ответ
2 1 1 1 1
1 2 1 1 1
1 1 2 1 1
1 1 1 2 1
1 1 1 1 2

Сообщение отредактировано: kvaga -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 15:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name