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

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

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

> Ссылки, обратный порядок..
b0b
сообщение 12.12.2005 19:40
Сообщение #1


Новичок
*

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

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


Вечер добрый. Необходимо срочно решить 2 задачи. . Завтра зачет, не допустит препод, если не будет их..

Ссылочный тип данных:
1. Составить программу, которая переворачивает список, т.е. изменяет ссылки так, чтобы его элементы оказались расположены в обратном порядке.

Модули:
2. В модуль включить подпрограмму нахождения произведения квадратных матриц А и В третьего порядка. В основной программе для трех квадратных матриц А, В и С 3-го порядка, вычислить Т=А*В*С.

В первой не знаю с чего начать.
Во второй, теоретически догадываюсь.

С уважением.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
b0b
сообщение 12.12.2005 20:44
Сообщение #2


Новичок
*

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

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


program laba9;

{$APPTYPE CONSOLE}

uses
SysUtils;

const
n=3;
var
mat1,mat2,mat3,resmat1,resmat2:array[1..n, 1..n] of integer;
i,x,y,r,t:integer;

begin

writeln('Enter 1st matrix: ');
for y:=1 to n do
for x:=1 to n do
begin
write('a[',x,',',y,']: ');
readln(mat1[x,y]);
end;

Writeln('Enter 2nd matrix: ');
for y:=1 to n do
for x:=1 to n do
begin
write('b[',x,',',y,']: ');
readln(mat2[x, y]);
end;

{подсчет матрицы AxB}

for y:=1 to n do
for x:=1 to n do
begin
r:=0; {обнуляем сумму произведений}
for i:=1 to n do {идем под горизонтали Mat1 и по вертикали}
r:=r+mat1[i,y]*mat2[x,i]; {Mat2; умножаем и добавляем в R}
resmat1[x,y]:=r; {Resmat1[x, y] = результат = R}
end;

writeln;
writeln('AxB=');

for y:=1 to n do
begin
for x:=1 to n do
write(resmat1[x,y]:4,' ');
writeln;
end;

readln;

Writeln('Enter 3rd matrix: ');
for y:=1 to n do
for x:=1 to n do
begin
write('b[',x,',',y,']: ');
readln(mat3[x, y]);
end;

for y:=1 to n do
for x:=1 to n do
begin
r:=0;
for i:=1 to n do
r:=r+resmat1[i,y]*mat3[x,i];
resmat2[x,y]:=r;
end;

writeln;
writeln('AxBxC=');

for y:=1 to n do
begin
for x:=1 to n do
write(resmat2[x,y]:4,' ');
writeln;
end;

readln;

end.


вот. все работает.
немогу подогнать под условие задачи..sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 20.07.2025 6:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"