|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
27.04.2013, 06:50 | #1 (permalink) |
Новичок
Регистрация: 26.04.2013
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Проверить код. Даны две целочисленные квадратные матрицы A и B
Код:
program p; const strok = 100; stolbcov = 100; var a,b: array [1..strok,1..stolbcov] of integer; c: array [1..strok,1..stolbcov] of integer; i,j,n,m: byte; begin write('Введите размерность массива a и b:'); readln(n,m); writeln('Массив a:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(180); write(a[i,j],' '); end; writeln(); end; writeln('Массив b:'); for i:=1 to n do begin for j:=1 to m do begin b[i,j]:=random(180); write(b[i,j],' '); end; writeln(); end; writeln('Массив c:'); for i:=1 to n do begin for j:=1 to m do begin c[i,j]:=a[i,j]*b[i,j]+b[i,j]*a[i,j]; write(c[i,j],' ') end; writeln(); end; end. |
27.04.2013, 06:50 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Советую вам прочесть аналогичные темы, наверняка вы найдете там что то важное Даны три положительных вещественных числа x, y, z Даны целые числа K и L Найти площадь выпуклого многоугольника, если даны координаты вершин многоугольника Даны два массива по 15 элементов Матрицы С++ Матрицы в С++ |
27.04.2013, 21:10 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Задача решена АБСОЛЮТНО неверно!!! В отличие от сложения, перемножение матриц НЕ сводится к почленному перемножению элементов.
Ладно, попробую изобразить. |
27.04.2013, 21:36 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот, как-то так:
Код:
const n=7; var a,b,c1,c2,c: array [1..n,1..n] of integer; i,j,k: byte; begin Randomize; writeln('Matrix A:'); for i:=1 to n do begin for j:=1 to n do begin A[i,j]:=random(20); write(a[i,j]:8); end; writeln; end; writeln('Matrix B:'); for i:=1 to n do begin for j:=1 to n do begin b[i,j]:=random(20); write(b[i,j]:8); end; writeln; end; writeln('Matrix C:'); for i:=1 to n do for j:=1 to n do begin c1[i,j]:=0; c2[i,j]:=0; end; for i:=1 to n do for j:=1 to n do for k:=1 to n do begin c1[i,j]:=c1[i,j]+a[i,k]*b[k,j]; c2[i,j]:=c2[i,j]+b[i,k]*a[k,j]; end; for i:=1 to n do begin for j:=1 to n do begin c[i,j]:=c1[i,j]+c2[i,j]; write(c[i,j]:8); end; writeln; end; readln end. |
28.04.2013, 14:19 | #4 (permalink) | |
Новичок
Регистрация: 26.04.2013
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
|
|
28.04.2013, 15:46 | #5 (permalink) |
Хозяин Медной Горы
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
28.04.2013, 16:09 | #8 (permalink) |
Хозяин Медной Горы
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
|
Забыл добавить, что n может быть как и byte, так и integer. Byte принимает положительные значения до 255, integer - от минус 32768 до 32768
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|