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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 23:20   #1
FullVenic
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 59
По умолчанию Умножение матриц. Загвоздка.

Здравствуйте , прошу ващей помощи в программе.
Ошыбка заключается в следющем: при вводу данных в матрицу а например 1, 2, 3, 4 матрица стает одним символом ( последним(4)). Как это исправить? буду благодарен.

PHP код:
uses crt;
const 
n=2;m=2;p=2;
var


   
a:array[1..n,1..mof real;
   
b:array[1..m,1..pof real;
   
c:array[1..n,1..pof real;
     
i,j,:byte;




begin
  clrscr
;
     for 
i:=1 to n do
     for 
j:=1 to m do
     
begin
        readln
(a[n,m]);
          
end;
    for 
j:=1 to m do
     for 
k:=1 to p do
      
readln(b[j,k]);

      for 
i:=1 to n do
      for 
k:=1 to p do
      
c[i,k]:= c[i,k] + a[i,j]*b[j,m];


    
write(a[i,j]:3:3);
    
writeln;
    
write(b[j,k]:3:3);
    
writeln;
    
write(c[i,k]:3:3);


    
readln;

END
FullVenic вне форума Ответить с цитированием
Старый 16.10.2011, 23:53   #2
_Alerter_
Пользователь
 
Регистрация: 25.05.2011
Сообщений: 89
По умолчанию

Считывание массива а происходило в одну и ту же ячейку
Код:
for i:=1 to n do 
     for j:=1 to m do 
     begin 
        readln(a[i, j]); 
          end;
_Alerter_ вне форума Ответить с цитированием
Старый 17.10.2011, 00:08   #3
FullVenic
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 59
По умолчанию

ничего не выходит


begin

for i:=1 to n do
for j:=1 to m do
begin
readln(a[i, j]);
end;

write(a[a,j]);
read;
end.

не получается, всеравно та же проблема
FullVenic вне форума Ответить с цитированием
Старый 17.10.2011, 00:19   #4
_Alerter_
Пользователь
 
Регистрация: 25.05.2011
Сообщений: 89
По умолчанию

Код:
for i := 1 to n do 
 for j := 1 to m do  
   readln(a[i, j]); 
for i := 1 to n do
begin
  for j := 1 to m do
    write(a[i,j], ' ');
  writeln;
end;
_Alerter_ вне форума Ответить с цитированием
Старый 17.10.2011, 22:55   #5
FullVenic
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 59
По умолчанию

Спасибо, но появилась еще одна проблема, оно множит не матрицу а елементы 1111 * 1111 = 1111 не 2222. Помогите написать код перемножения
FullVenic вне форума Ответить с цитированием
Старый 17.10.2011, 23:05   #6
_Alerter_
Пользователь
 
Регистрация: 25.05.2011
Сообщений: 89
По умолчанию

Код:
for i := 1 to n do 
      for k := 1 to p do 
      begin
           c[i, k] := 0;
           for z := 1 to n do
               c[i, k] :=  c[i, k] + a[i, z] * b[z, j];
      end;
for i := 1 to n do
begin
      for k := 1 to p do
           write(c[i, k], ' ');
      writeln;
end;

Последний раз редактировалось _Alerter_; 17.10.2011 в 23:25.
_Alerter_ вне форума Ответить с цитированием
Старый 18.10.2011, 21:03   #7
FullVenic
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 59
По умолчанию

спасибо огромное, только не мог бы ты обьяснить вкрасте це оно делает?
просто завал, я перешол в школу с нуля на СЛАУ


разобрался спасибо

Последний раз редактировалось FullVenic; 18.10.2011 в 21:14.
FullVenic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение матриц Macmeprag Помощь студентам 3 08.10.2011 15:58
умножение матриц затерявшисьвдебрях Помощь студентам 0 25.01.2011 22:13
умножение матриц Mila Volkova Помощь студентам 3 25.12.2010 14:17
Умножение матриц Си Slame Помощь студентам 4 16.12.2010 14:34