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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2018, 23:17   #1
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию StringGrid: найти произведение матриц

Ребятки,помогите пожлуйста
Данны матрицы А и В размера k*m и m*l соответственно. Найти произведение АВ.
мне кажется что код работает не совсем правильно

Код:
const  nmax=10;
var a,b,c:array[1..nmax,1..nmax] of integer;
  h,  k,m,l,i,j,p,s:integer;
begin

repeat
k:=strtoint(Edit1.text);  
until k in [1..nmax];
repeat
m:=strtoint(Edit3.text); 
until m in [1..nmax];
repeat
l:=strtoint(Edit3.text);
until l in [1..nmax];
repeat
h:=strtoint(Edit3.text); 

until h in [1..nmax];


for i:=1 to k do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(10);
    stringgrid1.Cells[j,i]:=inttostr(a[i,j]); 

   end;

 end;

for i:=1 to m do
 begin
  for j:=1 to l do
   begin
    b[i,j]:=random(10);
    stringgrid2.Cells[j,i]:=inttostr(b[i,j]);

   end;

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

for i:=1 to k do
 begin
  for j:=1 to l do
  stringgrid3.Cells[j,i]:=inttostr(c[i,j]); 

 end;
 end;
Изображения
Тип файла: png Безымянный.png (26.8 Кб, 138 просмотров)

Последний раз редактировалось kostya_hor; 20.11.2018 в 23:23.
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 09:05   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
...
k:=strtoint(Edit1.text);  
m:=strtoint(Edit3.text); 
l:=strtoint(Edit3.text);
h:=strtoint(Edit3.text);
именуйте компоненты на формы осмысленно!
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.11.2018, 14:08   #3
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
именуйте компоненты на формы осмысленно!
так?
Код:
k:=strtoint(Edit1.text); //  Строчки
m:=strtoint(Edit2.text); // Столбики
l:=strtoint(Edit3.text);
h:=strtoint(Edit4.text);
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 14:10   #4
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

Вот картинка

Последний раз редактировалось kostya_hor; 21.11.2018 в 14:18.
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 14:12   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от kostya_hor Посмотреть сообщение
Данны матрицы А и В размера k*m и m*l соответственно.
вижу k m l
откуда взялось h ?
и, главное, для чего Вы ещё одну придумали переменную? Чтобы задача не имела решения?

вам нужно:
Код:
  k:=strtoint(Edit1.text); 
  m:=strtoint(Edit2.text);
  l:=strtoint(Edit3.text);
m нужно вводить один раз (а не два, как у Вас на форме).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2018, 14:16   #6
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вам нужно:
вот такое решение нормально будет?
Изображения
Тип файла: png Безымянный.png (24.2 Кб, 134 просмотров)

Последний раз редактировалось kostya_hor; 21.11.2018 в 14:27.
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 14:36   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от kostya_hor Посмотреть сообщение
вот такое решение нормально будет?
вроде бы - да.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Произведение матриц Vitalyas Помощь студентам 11 26.04.2015 15:13
Найти произведение двух симметричных матриц А и В Alexandr- Помощь студентам 7 19.05.2013 15:04
произведение матриц mary1010 C++ Builder 0 12.12.2012 00:57
11. Найти произведение элементов нечетных строк массива. Вывести сам массив и произведение. p-6 Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2012 23:37
Найти произведение первых трёх наибольших элементов Матриц - паскаль Sandrewz Помощь студентам 4 15.10.2010 20:25