Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 02.12.2014, 00:34   #1 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вычислить скалярное произведение

Даны матрицы A,z,y.
Код:
   2 4 6         -2         0.5
A= 3 5 2      z=  3      y= 3
   2 4 7          2        -2
k=(Ay+z,Ay)

Помогите пожалуйста)
Dima007 вне форума   Ответить с цитированием

Старый 02.12.2014, 00:34
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Очень полезно сначала ознакомиться с похожими темами

Ввести две матрицы mxn и nxk. Найти и вывести их произведение
Вычислить функцию
Программа. Вычислить сумму или произведение
В массиве А(12) вычислить произведение
Найти произведение чисел, меньших заданного числа b

Старый 02.12.2014, 00:42   #2 (permalink)
Daniellos
Хозяин Медной Горы
 
Аватар для Daniellos
 
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
По умолчанию

1. Скалярное.
2. Я.П.?
Daniellos вне форума   Ответить с цитированием
Старый 02.12.2014, 07:25   #3 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Извините, но я не понял, что вы имеете ввиду)
Да, скалярное)
Dima007 вне форума   Ответить с цитированием
Старый 02.12.2014, 07:28   #4 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Забыл, Pascal)))
Dima007 вне форума   Ответить с цитированием
Старый 02.12.2014, 11:00   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Аналогичная задачка у нас весной уже разбиралась. Попробуйте, взяв ту программу за основу, адаптировать ее к своим данным:
Задачка по Паскалю
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 02.12.2014, 14:10   #6 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Не могли бы Вы помочь мне с этим разобраться?)
Dima007 вне форума   Ответить с цитированием
Старый 02.12.2014, 14:51   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Dima007 Посмотреть сообщение
Не могли бы Вы помочь мне с этим разобраться?)
Да куда я денусь...
Код:
Type
 Vect=array[1..3] of real;
 Matr=Array[1..3,1..3] of real;

Const
 z:Vect=( -2,3, 2);
 y:Vect=(0.5,3,-2);
 a:Matr=((2,4,6),(3,5,2),(2,4,7));

Function Prod(PM:Matr;PV:Vect):Vect;
var
 i,k:Byte;
 M:Vect;
begin
 for i:=1 to 3 do M[i]:=0;
 for i:=1 to 3 do
  for k:=1 to 3 do
   M[i]:=M[i]+PM[i,k]*PV[k];
 Prod:=M;
end;

Function Sums(V1,V2:Vect):Vect;
var
 i:Byte;
begin
 for i:=1 to 3 do Sums[i]:=V1[i]+V2[i];
end;

Function Scal_Prod(V1,V2:Vect):Real;
var
 i:Byte;
 SP:Real;
begin
 SP:=0;
 for i:=1 to 3 do SP:=SP+V1[i]*V2[i];
 Scal_Prod:=SP;
end;

Var
 k:Real;

Begin
 k:=Scal_Prod(Sums(Prod(A,y),z),Prod(A,y));
 Writeln('k = ',k:0:3);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 03.12.2014, 12:19   #8 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огромное.

А можно переписать этот код без испльзования процедур?
Dima007 вне форума   Ответить с цитированием
Старый 03.12.2014, 13:01   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Dima007 Посмотреть сообщение
А можно переписать этот код без использования процедур?
Можно. Но не нужно. А если нужно - то, пожалуйста, самостоятельно.
Vladimir_S вне форума   Ответить с цитированием
Старый 07.12.2014, 23:23   #10 (permalink)
Dima007
Новичок
 
Регистрация: 02.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Что Вы можете сказать об этом? Правильно ли?)))
Цитата:
uses
crt;

type
Vect = array[1..3] of real;
Matr = Array[1..3, 1..3] of real;

const
y: Vect = (0.5, 3, -2);
z: Vect = (-2, 3, 2);
a: Matr = ((2, 4, 6), (3, 5, 2), (2, 4, 7));

var
p, q: vect;
i, j: byte;
k: real;

begin
clrscr;
for i := 1 to 3 do p[i] := 0;
for i := 1 to 3 do
for j := 1 to 3 do
p[i] := p[i] + a[i, j] * y[j];

for i := 1 to 3 do
f or j := 1 to 3 do
q[i] := p[i] + z[i];

for i := 1 to 3 do
k := 0;
for i := 1 to 3 do k := k + q[i] * p[i];
writeln('k = ', k:2:2);
readln
end.
Dima007 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:39.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.