Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2009, 00:52   #1
Рустем
Пользователь
 
Регистрация: 16.01.2009
Сообщений: 14
По умолчанию Из-за этой задачи,не допушен к сессии...

Процедура
составить программу для решения задачи. Реализовать программу с конкретными исходными данными.

Заданы 2 матрицы:

А=
а11 а12 а13
а21 а22 а23
а31 а32 а33

В=
b11 b12 b13
b21 b22 b23
b31 b32 b33
Проверить являються ли произведение этих матриц перестановочным, то есть проверить равенство АВ=ВА. В случае положительного ответа напечатать "АВ=ВА", иначе напечатать литерал "Произведение неперестановочно".

Вычисление произведения 2 матриц оформить в виде подпрограммы.
Исходные данные:
(2 матрицы)
А=
1,2 5 -3
2,7 1 2
-4 6,3 2

В=
1 2 3
5,1 4 - 7
6 8 9

Последний раз редактировалось Рустем; 16.01.2009 в 01:43.
Рустем вне форума Ответить с цитированием
Старый 16.01.2009, 12:10   #2
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

и с чем тут проблема ? =)

Математика ?
Матрица ? (Массив)
Арифметика ?

или что ?
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 16.01.2009, 14:37   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Уже кому-то писал, даже цифры теже.
Код:
uses crt;
const n=3;/размер матриц
type Tmatr=array[1..n,1..n]of real;/тип матриц
const a:Tmatr=((1.2,5.0,-3.0), /заданные матрицы
               (2.7,1.0, 2.0),
               (-4.0,6.3,2.0));
      b:Tmatr=((1.0,2.0, 3.0),
               (5.1,4.0,-7.0),
               (6.0,8.0, 9.0));
var c,d:Tmatr;
    i,j,p:byte;

procedure UmnMatr(x,y:Tmatr;var z:Tmatr); /процедура умножения матриц
var k:byte;
begin
for k:=1 to n do
for j:=1 to n do
   begin
     z[k,j]:=0;
     for i:=1 to n do
        begin
          z[k,j]:=z[k,j]+x[k,i]*y[i,j];
        end;
   end;
end;

begin  /программа
clrscr;
Writeln('Proizvedenie a*b:');
UmnMatr(a,b,c);  /произведение А*В
for i:=1 to n do
  begin
    for j:=1 to n do
    write(c[i,j]:6:2);
    writeln;
  end;
writeln;

Writeln('Proizvedenie b*a:');
UmnMatr(b,a,d);  /произведение В*А
for i:=1 to n do
  begin
    for j:=1 to n do
    write(d[i,j]:6:2);
    writeln;
  end;
writeln;

p:=0; /сравнение элементов полученных матриц C и D
for i:=1 to n do
for j:=1 to n do
if c[i,j]=d[i,j] then
   begin
     p:=p+1;
   end;
if p=n*n then writeln('AB=BA')
else writeln('Proizvedenie ne perestanovochno!');
readln
end.
puporev вне форума Ответить с цитированием
Старый 16.01.2009, 14:41   #4
Рустем
Пользователь
 
Регистрация: 16.01.2009
Сообщений: 14
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Уже кому-то писал, даже цифры теже.
Код:
uses crt;
const n=3;/размер матриц
type Tmatr=array[1..n,1..n]of real;/тип матриц
const a:Tmatr=((1.2,5.0,-3.0), /заданные матрицы
               (2.7,1.0, 2.0),
               (-4.0,6.3,2.0));
      b:Tmatr=((1.0,2.0, 3.0),
               (5.1,4.0,-7.0),
               (6.0,8.0, 9.0));
var c,d:Tmatr;
    i,j,p:byte;

procedure UmnMatr(x,y:Tmatr;var z:Tmatr); /процедура умножения матриц
var k:byte;
begin
for k:=1 to n do
for j:=1 to n do
   begin
     z[k,j]:=0;
     for i:=1 to n do
        begin
          z[k,j]:=z[k,j]+x[k,i]*y[i,j];
        end;
   end;
end;

begin  /программа
clrscr;
Writeln('Proizvedenie a*b:');
UmnMatr(a,b,c);  /произведение А*В
for i:=1 to n do
  begin
    for j:=1 to n do
    write(c[i,j]:6:2);
    writeln;
  end;
writeln;

Writeln('Proizvedenie b*a:');
UmnMatr(b,a,d);  /произведение В*А
for i:=1 to n do
  begin
    for j:=1 to n do
    write(d[i,j]:6:2);
    writeln;
  end;
writeln;

p:=0; /сравнение элементов полученных матриц C и D
for i:=1 to n do
for j:=1 to n do
if c[i,j]=d[i,j] then
   begin
     p:=p+1;
   end;
if p=n*n then writeln('AB=BA')
else writeln('Proizvedenie ne perestanovochno!');
readln
end.
Спасибо огромное....
А тут данные уже введены же... В программе не надо вводить....
Рустем вне форума Ответить с цитированием
Старый 16.01.2009, 15:16   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Такое задание ты сам написал. Думать надо когда спрашиваешь. Ладно в другой твоей теме все так как тебе надо и впредь не создавай несколько тем по одному вопросу, во-первых неудобно, во-вторых могут вообще удалить тему.
puporev вне форума Ответить с цитированием
Старый 16.01.2009, 15:25   #6
Рустем
Пользователь
 
Регистрация: 16.01.2009
Сообщений: 14
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Такое задание ты сам написал. Думать надо когда спрашиваешь. Ладно в другой твоей теме все так как тебе надо и впредь не создавай несколько тем по одному вопросу, во-первых неудобно, во-вторых могут вообще удалить тему.
Хорошо спасибо....
Рустем вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Результат Зимней Сессии(Pascal) Naper214 Помощь студентам 2 29.12.2008 02:28
Сессии limon PHP 19 29.11.2008 22:46
Расскажите про сессии Pusher PHP 3 21.02.2008 03:10
Кто-нибудь, напишите пожалуйста формулу на "Pascal" для этой задачи... Andrei18 Помощь студентам 5 30.03.2007 15:45