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

Определить, по какую сторону плоскости точки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игнорирование пробелов при чтении символов из входного потока http://www.cyberforum.ru/cpp-beginners/thread1133152.html
Задача: нужно найти количество слов в тексте. #include <fstream> #include <iostream> #include <conio.h> using namespace std; int main() { ifstream fin;
C++ Найти в строке матрице последовательность одинаковых элементов с минимальной длиной. Найти в строке матрице две серию(где серия последовательность одинаковых элементов) с минимальной длиной. http://www.cyberforum.ru/cpp-beginners/thread1133146.html
Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке C++
Помогите пожалуйста! Ввести строку символов. Создать новую строку следующим образом: с начало три символа первой строки, потом эти же три символа в обратном порядке. Выдать на экран созданную строку символов.
Вывести слово в зависимости от введенного C++
Нужно следующее: если я ввожу текст "yes", то он на экран выводит "good", если ввожу "no", то выводит "bad". Никак не получается - что бы я не вводил, он по порядку пишет сначала good потом bad. string answer = "yes"; string answer_2 = "no"; ... int main () { ... if (cin >> answer) { cout << " good ";
C++ No instance of overloaded function http://www.cyberforum.ru/cpp-beginners/thread1133133.html
case 2: std::cout << "Введите кол-во новых записей: "; std::cin >> newRN; for(int i=0; i<newRN; i++){ recordID++; std::cout << "Добавление записи номер " << recordID << std::endl; std::cout << "Введите улицу: "; std::getline(std::cin, baseA.homeN); } Несколько раз сталкивался с таким, но всегда решалось абсолютным рандомом, хочу выяснить, с чем это может быть...
C++ Сформировать матрицу по образцу Всем привет. Напишите пожалуйста, программу чтобы получился массив как внизу. 0 0 0 1 0 0 1 2 0 1 2 2 1 2 2 2 Нужен весь код, а то по кусочкам собранный не очень помогает =\ подробнее

Показать сообщение отдельно
IrineK
Заблокирован
29.03.2014, 20:43     Определить, по какую сторону плоскости точки
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
using std::cin;
using std::cout;
 
typedef struct _TPoint
{   double x,y,z;
}   TPoint;
 
typedef struct _TVector
{   double x,y,z;
}   TVector;
 
TPoint *CreatePoint ()
{   TPoint *point = new TPoint;
    point->x = point->y = point->z = 0.;
    return point;
}
 
void DeletePoint (TPoint *point)
{   delete point;
}
 
void SetPointDialogue (TPoint *point, char *name)
{   cout << name << ":\n";
    cout <<"\tx = "; cin >> point->x;
    cout <<"\ty = "; cin >> point->y;
    cout <<"\tz = "; cin >> point->z;
    cin.sync();
}
 
void SetPoint (TPoint *point, double x, double y, double z)
{   point->x = x;
    point->y = y;
    point->z = z;
}
 
TVector *CreateVector (TPoint *a, TPoint *b)
{   TVector *vector = new TVector;
    vector->x = b->x - a->x;
    vector->y = b->y - a->y;
    vector->z = b->z - a->z;
    return vector;
}
 
void DeleteVector (TVector *vector)
{   delete vector;
}
 
//векторное произведение
void CrossProduct (TVector *res, TVector *a, TVector *b)
{   res->x = a->y*b->z - a->z*b->y;
    res->y =  - a->x*b->z + a->z*b->x;
    res->z = a->x*b->y - a->y*b->x;
}
 
//скалярное произведение
double DotProduct (TVector *a, TVector *b)
{   return a->x*b->x + a->y*b->y + a->z*b->z;
}
 
//смешанное произведение
double TripleProduct (TVector *a, TVector *b, TVector *c)
{   TVector res;
    CrossProduct (&res, b, c);
    return DotProduct (a, &res);
}
 
int main()
{   setlocale (LC_CTYPE, "Russian");
    
    TPoint *A, *B, *C, *X, *Y;
    A = CreatePoint();
    SetPoint(A, 1,0,0);
    B = CreatePoint();
    SetPoint(B, 0,1,0);
    C = CreatePoint();
    SetPoint(C, 0,0,1);
 
    X = CreatePoint();
    SetPointDialogue (X, "X");
    Y = CreatePoint();
    SetPointDialogue (Y, "Y");
 
    TVector *AB, *AC, *AX, *AY;
    AB = CreateVector (A, B);
    AC = CreateVector (A, C);
    AX = CreateVector (A, X);
    AY = CreateVector (A, Y);
 
    if (TripleProduct (AX, AB, AC) * TripleProduct (AY, AB, AC) > 0)
        cout << "Точки лежат по одну сторону от плоскости";
    else if (TripleProduct (AX, AB, AC) * TripleProduct (AY, AB, AC) < 0)
        cout << "Точки лежат по разные стороны от плоскости";
    else 
        cout << "По крайней мере одна из точек лежит в плоскости";
 
    DeletePoint (A); DeletePoint (B); DeletePoint (C); DeletePoint (X); DeletePoint (Y);
    DeleteVector (AB); DeleteVector (AC); DeleteVector (AX); DeleteVector (AY);
 
    cin.get();
    return 0;
}
Добавлено через 50 секунд
Собственно, решение задачи - это строка 90-95.
Все остальное - необходимый довесок.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru