Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перемножение матриц 
:(
    Опции темы
jorjinho10
Дата 18.5.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 31.3.2009
Где: Saint-Petersburg

Репутация: нет
Всего: нет



Построить матрицу С=А*В*В, где А - прямоугольная матрица размера n x m , а В квадратная матрица m x m (для этого пользователю требуется задать матрицу А и В, и вывести С как матрицу)

сделать нужно через процедуры и функции , но Без глобальных переменных

ниже приведен вариант с глобальными переменными , как от него уйти ?
Код
uses crt;
const
n=4;
m=3;
type
matr=array[1..n,1..m] of integer;
procedure Vvod(var B:matr;x:integer;c:char);
var i,j:integer;
begin
writeln('Vvedite ',x*m,' Elementov Matrici ',c,':');
for i:=1 to x do
for j:=1 to m do
 begin
  write('el[',i,',',j,']=');
  readln(B[i,j]);
 end;
end;
procedure Vyvod(var B:matr;x:integer;c:string);
var i,j:integer;
begin
writeln('Matrica ',c,':');
for i:=1 to x do
 begin
   for j:=1 to m do
   write(B[i,j]:4,' ');
   writeln;
 end;
end;
procedure UmnMatr(m1,m2:matr;x:integer;var m3:matr);
var p,j,i:integer;
begin
for p:=1 to x do
for j:=1 to m do
   begin
     m3[p,j]:=0;
     for i:=1 to m do
       begin
         m3[p,j]:=m3[p,j]+m1[p,i]*m2[i,j];
       end;
   end;
end;
var a,b,c,d:matr;
begin
clrscr;
Vvod(a,n,'A');
Vvod(b,m,'B');
clrscr;
Vyvod(a,n,'A');
Vyvod(b,m,'B');
UmnMatr(a,b,n,d);
Vyvod(d,n,'D=A*B');
UmnMatr(d,b,n,c);
Vyvod(c,n,'C=A*B*B');
readln
end.




PM MAIL ICQ Skype   Вверх
volvo877
Дата 19.5.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(jorjinho10 @  18.5.2009,  18:06 Найти цитируемый пост)
ниже приведен вариант с глобальными переменными
Это ты просто не видел вариантов с глобальными переменными. Здесь как раз все - через параметры. А обойтись СОВСЕМ без переменных, чтоб секции Var основной программы не было, у тебя не получится.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1638 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.