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

Класс точка, ребро, плоскость - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись в файл http://www.cyberforum.ru/cpp-beginners/thread1207152.html
подскажите где я косячнул при записи в файл В общем суть такая косяк свой никак не найду . При открытии файла всё прекрасно читается и заменяется ,но записывается 1 строка только и начинается поедание оперативки. что то не то с записью вероятнее всего #include <iostream> #include <fstream> #include <cstring>
C++ Перенести в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из А, и из B Заданы массивы действительных чисел а1,а2,…,а20 и b1,b2,…,b30. Перене-сти в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из массива А, и из массива В. Срочно нужно, а с массивами совершенно не дружу((( http://www.cyberforum.ru/cpp-beginners/thread1207126.html
Содание динамического массива известной размерности C++
Доброго времени суток. Возник вопрос. Возможно ли создать такой массив (аналог динамического), когда его размерность определяется в процессе работы. Скажем, его размерность зависит от количества кликов по окну и все в таком духе, т.е. пользователь не задает его размерность при запуске программы. Необходимость для графического редактора. Если есть замена массиву например TList (в borland 7) -...
C++ Запись в файл с заменой
Здравствуйте, уважаемые форумчане!!! У меня к вам вот какой вопрос: Есть программа записи данных в файл, нужно написать программу для замены записи на другую. Вот текст основной программы: int main() { setlocale(0,"rus"); // Замена записей cout<<"<Запись с заменой>"<<endl;
C++ Перемножение двоичных чисел http://www.cyberforum.ru/cpp-beginners/thread1207102.html
Добрый день!:) Возникла проблема при написании калькулятора для двоичных чисел, точнее, проблемы с умножением. Логику сего процесса вроде понимаю, но написать тяжеловато. Походу совсем блондинка:) Есть фрагмент кода: { if (l > l1) //определяем длину по наибольшему числу length = l; else
C++ Подсчет количества слов в файле Дан текстовый файл. Определить, сколько раз каждое слово встречается в тексте. Слова выводить на экран в алфавитном порядке по 20 слов. подробнее

Показать сообщение отдельно
airolove
0 / 0 / 0
Регистрация: 13.06.2014
Сообщений: 10
16.06.2014, 15:27  [ТС]     Класс точка, ребро, плоскость
Написал вроде функцию от ребра до точки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double side::dist(point p)
{
d = - (p.x*vec[0]+p.y*vec[1]+p.z*vec[2]);
t= - (vec[0]*x0+vec[1]*y0+vec[2]*z0 + d) / (vec[0]*vec[0]+vec[1]*vec[1]+vec[2]*vec[2]);
 
if(t>=0 && t<=1)
{
    point p1 = new point (t*l + start.x, t*m + start.y, t*n + start.z);
    return p1.dist(p2);
}
if(t<0) // если t<0, то у нас точка end (t=1)
{
point p1 = new point (end.x, end.y, end.z);
return p1.dist(p2);
}
if(t>0) // если t>0, то у нас точка start (t=0)
{
point p1 = new point (start.x, start.y, start.z);
return p1.dist(p2);
}
Добавлено через 1 час 2 минуты
Поможет кто решить проблему. Теперь ругается на
Кликните здесь для просмотра всего текста
[BCC32 Error] File1.cpp(22): E2238 Multiple declaration for 'Point::dista'
[BCC32 Error] File1.cpp(42): E2090 Qualifier 'Side' is not a class or namespace name
[BCC32 Error] File1.cpp(42): E2040 Declaration terminated incorrectly

Вот сам код:
Кликните здесь для просмотра всего текста
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
#include <vcl.h>
#include <stdlib.h>
#include <tchar.h>
#include <iostream>
 
class Point {
public:
double x, y, z;
// Конструктор
Point(double X = 0, double Y = 0, double Z = 0) : x(X), y(Y), z(Z) {}
double dista(Point) const;
};
 
double Point::dista(Point dis) const
{
return sqrt((x-x.dis)*(x-x.dis)+(y-y.dis)*(y-y.dis)+(z-z.dis)*(z-z.dis);
}
 
class Side{
Point start,end;
double dist(Point);
    getSide(Point p1, Point p2)
{
float vec[3];
start = p1;
end = p2;
vec[0] = end.x - start.x;
vec[1] = end.y - start.y;
vec[2] = end.z - start.z;
}
};
 
double Side::dist(Point p)
{
d = - (p.x*vec[0]+p.y*vec[1]+p.z*vec[2]);
t= - (vec[0]*x0+vec[1]*y0+vec[2]*z0 + d) / (vec[0]*vec[0]+vec[1]*vec[1]+vec[2]*vec[2]);
 
if(t>=0 && t<=1)
{
    Point p1 = new Point (t*l + start.x, t*m + start.y, t*n + start.z);
    return p1.dist(p2);
}
if(t<0) // если t<0, то у нас точка end (t=1)
{
Point p1 = new Point (end.x, end.y, end.z);
return p1.dist(p2);
}
if(t>0) // если t>0, то у нас точка start (t=0)
{
Point p1 = new Point (start.x, start.y, start.z);
return p1.dist(p2);
}
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru