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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
#1

Создать класс - C++

30.10.2010, 20:48. Просмотров 299. Ответов 0
Метки нет (Все метки)

Люди помогите, пожалуйста.
Есть такая задача:
Создать класс, который подсчитывает количество равносторонних и прямоугольных треугольников с различными длинами оснований, вершин и сторон в заданном множестве точек на плоскости.
Написать программу, демонстрирующую работу с этим классом.

Я попытался что-то сделать, но получилось у меня как-то не так:
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
#include <iostream.h>
#include <math.h>
int const n=5;
class Triangle
{public:
    Triangle ();
    void setkoord (int[],int[]);
    void rTriangle ();
    void pTriangle ();
private:
    int x[n];
    int y[n];
};
Triangle::Triangle(){}
void Triangle::setkoord (int x[n],int y[n])
    {for (int i=0;i<n;i++)
    if (x[i]<0) x[i]=0;
    if (y[i]<0) y[i]=0;
    }
void Triangle::rTriangle()
    {int j=0;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))) j++;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[3]-x[0]),2)+pow((y[3]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))) j++;
    if (sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2))==sqrt(pow((x[2]-x[3]),2)+pow((y[2]-y[3]),2)) && sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2))==sqrt(pow((x[3]-x[0]),2)+pow((y[3]-y[0]),2))) j++;
    if (sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2))==sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2)) && sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2))==sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2))) j++;
    if (sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2)) && sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2)) && sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))) j++;
    if (sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))==sqrt(pow((x[4]-x[3]),2)+pow((y[4]-y[3]),2)) && sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2)) && sqrt(pow((x[4]-x[3]),2)+pow((y[4]-y[3]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2))) j++;
    cout << "RTriangle=" << j;
    }
void Triangle::pTriangle()
    {int q=0;
    int d01=pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2);
    int d02=pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2);
    int d03=pow((x[3]-x[0]),2)+pow((y[3]-y[0]),2);
    int d04=pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2);
    int d12=pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2);
    int d13=pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2);
    int d14=pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2);
    int d23=pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2);
    int d24=pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2);
    int d34=pow((x[4]-x[3]),2)+pow((y[4]-y[3]),2);
    if (d01==d02+d12 || d02==d01+d12 || d12==d01+d02) q++;
    if (d01==d03+d13 || d03==d01+d13 || d13==d01+d03) q++;
    if (d01==d04+d14 || d04==d01+d14 || d14==d01+d04) q++;
    if (d02==d03+d23 || d03==d02+d23 || d23==d03+d02) q++;
    if (d02==d04+d24 || d04==d02+d24 || d24==d04+d02) q++;
    if (d12==d13+d23 || d13==d12+d23 || d23==d12+d13) q++;
    if (d12==d14+d24 || d14==d12+d24 || d24==d12+d14) q++;
    if (d13==d14+d34 || d14==d13+d34 || d34==d13+d14) q++;
    if (d23==d34+d24 || d24==d23+d34 || d34==d23+d24) q++;
    cout << "\n" << "PTriangle=" << q << "\n";
    }
void main()
    {Triangle t;
    int x[n]={1,1,6,0,1};
    int y[n]={2,8,5,1,0};
    t.setkoord (x,y);
    t.rTriangle();
    t.pTriangle();
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2010, 20:48     Создать класс
Посмотрите здесь:

Создать класс линия и производный класс отрезок - C++
Создать класс линия и производный класс отрезок, перегрузить операторы сложения, декрементирования и сравнения, определить методы для...

Как создать класс кот может создать general purpose counting objects - C++
Как создать класс (CounterType) кот может создать general purpose counting objects. Этот объект содержит an integer count. но не может...

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы - C++
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие...

Создать класс данных Person и класс отображения данных - C++
Здравствуйте . Есть такое задание: Создать класс данных &lt;Data1&gt; и класс отображения данных - &lt;view1&gt;. Объект отображения...

Создать класс - C++
Доброго времени суток. Нужна помощь. Завтра контрольная, а я вот как-то не могу написать программу.. Помогите пожалустааа.. \\Создать...

создать класс) - C++
/*Создайте класс, который содержит информацию об имени а адресе. Храните всю эту информацию в символьных строках закрытой части класса. ...

создать класс - C++
создать класс строк и реализовать какие захочешь функции в нем. ребят можете помочь,знаю что примитивно но я вообще в этом ноль

создать класс - C++
создать класс типа &quot;циклическая последовательность&quot;.Функции-члены получают элемент и помещают его в последовательность.Предусмотреть...

Создать класс - C++
Создать класс &lt;имя класса&gt; (имя класса задается в соответствии с выбранным вариантом), содержащий поля, которые можно использовать для...

Создать класс - C++
Создать класс, описывающий следующие понятие рабочий! фамилия,стаж,часовая зароботная плата, колличество отработаных часов. Наити: 1)...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru