Форум программистов, компьютерный форум CyberForum.ru

Вектора, Вектора, Вектора - C++

Восстановить пароль Регистрация
 
JohnSoap
Сообщений: n/a
25.05.2012, 11:22     Вектора, Вектора, Вектора #1
Ребята, есть пару вопросов)) Я не могу понять следуешее как реализовать, может кто поможет) Так вот задача... "Описать тип Struct Vector, задающий вектор в трёхмерном пространстве с координатами (x,y,z) Реализовать в виде отдельных функций а) вычесление суммы двух векторов б) вычесление разности двух веторов в) вычесление скалярного произведения 2 векторов г) вычесление векторного произведения 2 векторов д) проверка компланарности 2 векторов е) нормирование заданного вектора ж) умножение вектора на действительное число з) проверки равенства 2 векторов и) проекции вектора на плоскость, определённую другой парой векторов к) Вычесления угла между векторами. С использованием описанных типа и функций разработать программу, которая для заданного набора из N векторов находит 1)Сумму всех векторов нормалей к плоскостям, определённых подборами комплексных векторов 2) Количество векторов с ненулевыми проекциями на плоскость, определяемую парой векторов, образующих угол, наиболее близкий к заданному углу"
Так вот... Меня интересует как сделать подпрограмму "и)" и как реализовать основную программу???
могу скинуть наработку из предыдущих подпрогамм, если надо то вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <Windows.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.141592653589793238462643383279502884197169399375105820
struct vector{
    double x;
    double y;
    double z;
};
struct vector S(struct vector x,struct vector y){
    struct vector z;
    z.x=x.x+y.x;
    z.y=x.y+y.y;
    z.z=x.z+y.z;
    return z;
}
struct vector R(struct vector x,struct vector y){
    struct vector z;
    z.x=x.x-y.x;
    z.y=x.y-y.y;
    z.z=x.z-y.z;
    return z;
}
double Scal(struct vector x,struct vector y){
    double z;
    z=x.x*y.x+x.y*y.y+x.z*y.z;
    return z;
}
struct vector VecProiz(struct vector x,struct vector y){
    struct vector z;
    z.x=x.y*y.z-x.z*y.y;
    z.y=x.z*y.x-x.x*y.z;
    z.z=x.x*y.y-x.y*y.x;
    return z;
}
int Compl(struct vector x,struct vector y,struct vector z){
    int i;
    if((x.x*y.y*z.z+y.x*z.y*x.z+x.y*y.z*z.x-x.z*y.y*z.x-z.y*y.z*x.x-x.y*y.x*z.z)==0)
        i=1;
    else
        i=0;
    return i;
}
struct vector Norm(struct vector x){/*Вектор единичной длины (||x|| = 1) называется нормированным.
                                    Ненулевой вектор (x в‰* 0) можно нормировать, разделив его на длину, т.е. x = ||x|| (x/||x||) = ||x|| e. 
                                    Здесь e = x/||x|| — нормированный вектор.*/
    struct vector z;
    double c;
    c=sqrt(pow(x.x,2)+pow(x.y,2)+pow(x.z,2));
    z.x=x.x/c;
    z.y=x.y/c;
    z.z=x.z/c;
    return z;
}
struct vector DVec(struct vector x,double z){
    struct vector y;
    y.x=x.x*z;
    y.y=x.y*z;
    y.z=x.z*z;
    return y;
}
int RavenVec(struct vector x,struct vector y){
    int i;
    if((x.x/y.x)==(x.y/y.y)==(x.z/y.z))
        if((sqrt(x.x*x.x+x.y*x.y+x.z*x.z))==(sqrt(y.x*y.x+y.y*y.y+y.z*y.z)))
            i=1;
        else
            i=0;
 
    else
        i=0;
    return i;
}
"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 11:22     Вектора, Вектора, Вектора
Посмотрите здесь:

Дан список, элементы которого являются координатами вектора. Найти длину вектора C++
Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А C++
Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) C++
STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора C++
Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора C++
Если возможно, упорядочить булевы вектора, или вывести сообщение "Вектора несравнимы" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru