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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 00:26   #1
You-Lol
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 13
По умолчанию Использование одномерных массивов

Добрый вечер, помогите решить:
Даны два вектора x={xn} и y={yn} - проверить на ортогональность эти два вектора.
Зарание спасибо!
You-Lol вне форума Ответить с цитированием
Старый 14.11.2014, 09:26   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А самостоятельно совсем что-ли никак??
С интересом жду тем типа:
"Помогите решить: 2+2*2. Объяснить решение подробно. "

Пример вашей задачи:
Проверить являются ли вектора a = {3; -1} и b = {7; 5} ортогональными.
Решение:
Найдем скалярное произведение этих векторов
a · b = 3 · 7 + (-1) · 5 = 21 - 5 = 16
Ответ: так как скалярное произведение не равно нулю, то вектора a и b не ортогональны.

Курс по паскалю
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 15.11.2014, 19:52   #3
You-Lol
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 13
По умолчанию

Код:
var
i,j,z,n,m:integer;
 
 A:array[1..99] of integer;
B:array [1..99] of integer;
 
begin
writeln('Введите количество элементов в векторах,( количество элементов в векторах должно быть равным!!!)');
read(n,m);
writeln('Координаты вектора А= ');
for i:=1 to n do
readln (A[i]);
writeln('Координаты вектора B= ');
for j:=1 to m do
readln (B[j]);
for i:=1 to n do
for j:=1 to m do
Begin
z:=(A[i]*B[j]);
end;
if z=0 then 
writeln ('Векторы ортогональны',' ' ,z)
else
writeln('Векторы не ортогональны',' z= ',z);
end.
Помогите исправить ошибку

Последний раз редактировалось Stilet; 15.11.2014 в 20:40.
You-Lol вне форума Ответить с цитированием
Старый 16.11.2014, 05:25   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Конечно я не математик, но попрововать изменить:
Код:
for i:=1 to n do
Begin
z:=z+(A[i]*B[i]);
end;
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 16.11.2014 в 05:28.
newerow1989 вне форума Ответить с цитированием
Старый 16.11.2014, 11:10   #5
You-Lol
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 13
По умолчанию

Попробовал, выдает другой ответ но не правильный. Может есть еще варианты?

По идее должно быть примерно так :

z:=A[i]*B[j]+A[i+1]*B[j+1]

И чем больше у меня n тем больше должно быть A[i+1]*B[j+1] умножение их поочередных элементов, а затем их сумма.

Как запустить это в цикл?
You-Lol вне форума Ответить с цитированием
Старый 16.11.2014, 11:27   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var
i,z,n:integer;

 A:array[1..99] of integer;
B:array [1..99] of integer;

begin
writeln('Введите количество элементов в векторах,( количество элементов в векторах должно быть равным!!!)');
read(n);
writeln('Координаты вектора А= ');
for i:=1 to n do
readln (A[i]);
writeln('Координаты вектора B= ');
for i:=1 to n do
readln (B[i]);
z:=0;
for i:=1 to n do
Begin
z:=z+(A[i]*B[i]);
end;
if z=0 then 
writeln ('Векторы ортогональны',' ' ,z)
else
writeln('Векторы не ортогональны',' z= ',z);
Readln;
end.
У меня ортогональность получается так:
Кол-во элементов 2
Коорд. А: 3 -3
Коорд. В: 7 7
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 16.11.2014, 14:50   #7
You-Lol
Пользователь
 
Регистрация: 11.11.2014
Сообщений: 13
По умолчанию

Вообще супер) спасибо!
You-Lol вне форума Ответить с цитированием
Старый 16.11.2014, 15:56   #8
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Пожалуйста!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка одномерных массивов lolwto Помощь студентам 0 05.12.2012 15:55
Обработка одномерных массивов lolwto Помощь студентам 15 03.12.2012 16:37
Обработка одномерных массивов Pepsik Паскаль, Turbo Pascal, PascalABC.NET 11 15.07.2011 05:27
Паскаль.Организация одномерных массивов и использование в циклических программах Яська Помощь студентам 4 11.01.2010 18:04