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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2019, 10:46   #1
noTLST
Новичок
Джуниор
 
Регистрация: 26.12.2019
Сообщений: 3
По умолчанию

Разработать функцию dotProduct(xu, yu, zu, xv, yv, zv,
xp, yp, zp), вычисляющую для двух векторов u(xu, yu, zu) и
v(xv
, yv
, zv) вектор p(xp, yp, zp), являющийся их векторным
произведением (xu, yu, zu, xv
, yv
, zv — входные, а xp, yp, zp —
выходные параметры). В качестве результирующего значения
функция должна возвращать длину вектора p. С помощью этой
функции найти все попарные векторные произведения для трех
заданных векторов.

Я начал это примерно так
Код:
#include <stdio.h>
#include <locale.h>
#include <math.h>

float Vector_P(float yu, float zv, float zu, float yv, float xv, float xu)
{
	float xp, yp, zp;
	float L_P;
	xp = (yu * zv) - (zu * yv);
	yp = (zu * xv) - (xu * zv);
	zp = (xu * yv) - (yu * xv);
	L_P = sqrt(xp * xp + yp * yp + zp * zp);
	return(L_P);
}

int main()
{
	setlocale(LC_ALL, "rus");
	float xu, yu, zu; // координаты вектора u
	float xv, yv, zv; // координаты вектора v
	printf("Введите координаты вектора u(x,y,z) и v(x,y,z):\n"); ///-------------
	scanf_s("%f%f%f%f%f%f", &xu, &yu, &zu, &xv, &yv, &zv);       /// Ввод данных
	Vector_P(xu, yu, zu, xv, yv, zv);                            ///-------------

}
Но я в итоге совсем запутался
p.s Не бейте, если что, прошу помочь разобраться
noTLST вне форума Ответить с цитированием
Старый 26.12.2019, 12:52   #2
noTLST
Новичок
Джуниор
 
Регистрация: 26.12.2019
Сообщений: 3
По умолчанию

Код:
#include <stdio.h>
#include <locale.h>
#include <math.h>

float Vector_P(float  xu, float  yu, float  zu,
	float  xv, float  yv, float  zv,
	float &xp, float &yp, float &zp)
{
	xp = (yu * zv) - (zu * yv);
	yp = (zu * xv) - (xu * zv);
	zp = (xu * yv) - (yu * xv);
	return sqrt(xp * xp + yp * yp + zp * zp);
}

float Vector_VP(float xv, float yv, float zp, float xp, float yp, float zv, float &xvp, float &yvp, float &zvp)
{
	xvp = (yv * zp) - (zv * yp);
	yvp = (zv * xp) - (xv * zp);
	zvp = (xv * yp) - (yv * xp);
	return (xvp, yvp, zvp);
}

float Vector_UP(float xu, float yu, float zp, float xp, float yp, float zu, float &xup, float &yup, float &zup)
{
	xup = (yu * zp) - (zu * yp);
	yup = (zu * xp) - (xu * zp);
	zup = (xu * yp) - (yu * xp);
	return (xup, yup, zup);
}

int main()
{
	setlocale(LC_ALL, "rus");
	float xu, yu, zu; // координаты вектора u
	float xv, yv, zv; // координаты вектора v
	float xp, yp, zp;  // координаты вектора p
	float xvp, yvp, zvp; //Векторное произведение векторов v и p 
	float xup, yup, zup; //Векторное произведение векторов u и p 
	printf("Введите координаты вектора u(x,y,z) и v(x,y,z):\n"); ///------------
	scanf_s("%f%f%f%f%f%f", &xu, &yu, &zu, &xv, &yv, &zv);         /// Ввод данных
	float L = Vector_P(xu, yu, zu, xv, yv, zv, xp, yp, zp);        ///------------
	float K = Vector_VP(xv, yv, zp, xp, yp, zv, xvp, yvp, zvp);
	float J = Vector_UP(xu, yu, zp, xp, yp, zu, xup, yup, zup);
	printf("Векторное произведение V и U: \nx=%f\ny=%f\nz=%f\n", xp, yp, zp);
	printf("Длина вектора P: %f \n", L);
	printf("Векторное произведение V и P: \nx=%f\ny=%f\nz=%f\n", K);
	printf("Векторное произведение U и P: \nx=%f\ny=%f\nz=%f\n", J);
}
noTLST вне форума Ответить с цитированием
Старый 26.12.2019, 12:53   #3
noTLST
Новичок
Джуниор
 
Регистрация: 26.12.2019
Сообщений: 3
По умолчанию

Попытался так реализовать программу, но кажется она неправильная
noTLST вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция которая должна с json формата возвращать в стандартный dimaSlon Qt и кроссплатформенное программирование С/С++ 76 08.06.2018 17:35
В массиве найти произведение двух заданных последовательностей чисел; полученные произведения сравнить alexshem Visual C++ 1 19.02.2017 12:17
[Pascal] нужно сформировать матрицу из векторов, вектора x,y,z должны стать столбцами матрицы, остановилась после сортировки векторов anna77777 Помощь студентам 3 07.01.2017 01:22
С помощью массива. Найти произведения вектора нечетных чисел B(N) N<=20 (Delphi) Ayderka Помощь студентам 8 19.05.2014 14:57
Найти длину вектора Virtuoz_ Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2013 21:19