Программа для умножения матриц

0
(pjlol) Анастасия
17 Декабря 2014, 18:02
 
 
Статья:
Я продолжаю писать такие вот статьи, которые помогут начинающим, и научат их некоторым полезным навыкам. Сегодня речь будет идти о программе для перемножения матриц.
Прежде всего, нужно понимать, что матрица - это двухмерный массив. Двухмерный массив не слишком отличается от одномерного, но все же объявлять его в начале кода нужно так:
var a:array[1..100,1..100] of Integer;
Заполнение матриц:
Если вы учились в высшем учебном заведении, то знаете что операции с ними можно делать только если число столбиков в первой, соответствует числу строк во второй матрице. То есть у них должен быть общий параметр. В нашей программе он будет "n". Что же, начнем задавать параметры наших массивов:
read(m,n,k) {здесь m-число строчек первой, а k-число столбцов во второй}.
for i:=1 to m do
for j:=1 to n do
read(c[i,j]);
for i:=1 to n do
for j:=1 to k do
read(b[i,j]);for i:=1 to m do
for j:=1 to n do
read(c[i,j]);
for i:=1 to n do
for j:=1 to k do
read(b[i,j]);
Ну вот мы и заполнили таблицы значений. Ну а что же делать дальше? Как перемножить матрицы? Я очень долго думала, пока не поняла что нужно сделать вот так вот:
for i:=1 to m do
for j:=1 to k do
begin
for e:=1 to n do
d[i,j]:=d[i,j]+(c[i,e]*b[e,j]);
Вот и все. Видите, все гораздо проще чем казалось в начале. Пример рассчитан на умножение, ну а если вы хотите найти суму матриц, то просто поменяйте знак.
Но это еще не все. Для вашего удобства, при выводе двухмерных массивов, можно сделать так, чтобы все его значения выводились не в строчку а так как оно есть: таблицей. Оказывается что нужно просто поставить "writeln" в соответствующем цикле. Смотрите:
for i:=1 to m do
begin
writeln;
for j:=1 to k do
write(c[i,j],' ')
end;
Вот и все. Спасибо за внимание. надеюсь, что я вам помогла.
Был ли полезен материал?
да 0 нет 0
 
 




написать комментарий
*Имя *e-mail
*разрешена загрузка файлов типа: jpg,jpeg,gif,png,flv,mp4,wmv,wma,mp3,ppt,doc,docx,xls,xlsx,odt,odp,ods,odb,rtf,xml,txt,csv
**максимальный размер загружаемого файла: 240 kb.


прикрепить файл
Минимальная длина комментария 50 символов.
 
О чем сегодня пишем?
Личный кабинет
Логин:
Пароль:
Регистрация
Забыли свой пароль?