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

Треугольник в С++ - C++

Восстановить пароль Регистрация
 
Lightmen
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 26
29.05.2014, 15:32     Треугольник в С++ #1
Добрый день!
Я уже обращался к Вам (Класс С++ для работы с треугольником) по этому вопросу, однако так и не разобрался. Еще раз перепишу задачку "Разработать класс на языке С++ реализующий методы для работы с треугольником: построение треугольника, вычисление периметра, площади, длин сторон".
Если вкратце, то все, до чего я дошел, это то, что:
1. Раз надо найти длины сторон, то получается треугольник надо строить по координатам вершин, правильно?
2. в Интернете я наткнулся на лекции по С++ и интересный код:
C++ (Qt)
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
#include <iostream.h>
#include <graphics.h>
class Triangle
{
pointtype a,b,c; //Детали треугольника = три точки для построения
public:
  void Show(pointtype,pointtype,pointtype); //Метод, помогающий понять треугольнику, как себя рисовать
};
void Triangle::Show(pointtype a,pointtype b,pointtype c) //Описываю метод Show вне класса
{
int Poly[8]={a.x,a.y,b.x,b.y,c.x,c.y,a.x,a.y} ; //Инициализация массива параметрами переданными в объект
fillpoly(4,Poly); //Рисование закрашенного треугольника по данным, записанным в массив
}
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
pointtype a,b,c; //Три точки треугольника
      a.x=20;   a.y=20;
      b.x=100; b.y=90;
      c.x=33;   c.y=88;
Triangle Tr1; //Объявили объект, типа треугольник
Tr1.Show(a,b,c); //Заставили объект нарисовать себя по указанным координатам
    
      a.x=500;   a.y=70;
      b.x=600; b.y=100;
      c.x=10;   c.y=70;
     setfillstyle(1,1); //Установка цвета и стиля заливки
     Tr1.Show(a,b,c); //Рисование закрашенного треугольника по координатам точек а,b,c
cin.get();
closegraph();
}
Однако тут используется <graphics.h>, а насколько я понял это сильно устаревший модуль и его уже нет. Во всяком случае найти и прикрепить такой модуль я не смог. А как построить его по-другому я не знаю вообще. Подскажите, пожалуйста!
В общем, я так и застрял на построении, помогите пожалуйста с кодом!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 15:32     Треугольник в С++
Посмотрите здесь:

Треугольник C++
Треугольник) C++
Треугольник C++
Треугольник C++
треугольник C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.05.2014, 15:49     Треугольник в С++ #2
Lightmen, а где в задании сказано, что надо рисовать треугольник? Делай как обычно вывод текстом: "площадь, периметр, стороны".
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
29.05.2014, 15:51     Треугольник в С++ #3
Цитата Сообщение от Lightmen Посмотреть сообщение
Раз надо найти длины сторон, то получается треугольник надо строить по координатам вершин, правильно?
да, векторы вам в помощь
корень квадратный из суммы квадратов разностей координат будет длиной
Цитата Сообщение от Lightmen Посмотреть сообщение
"Разработать класс на языке С++ реализующий методы для работы с треугольником: построение треугольника, вычисление периметра, площади, длин сторон".
вы уверены что под построением имеется ввиду отрисовка?
Lightmen
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 26
29.05.2014, 16:38  [ТС]     Треугольник в С++ #4
Kuzia domovenok, dzrkot - в задании указано "построение треугольника" поэтому я думаю отрисовка. Я не прав? Просто не знаю, как еще интерпретировать этот пункт.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
29.05.2014, 16:40     Треугольник в С++ #5
Рисование оставьте на потом, сначала разберитесь с вычислениями.
Lightmen
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 26
01.06.2014, 19:12  [ТС]     Треугольник в С++ #6
Добрый день еще раз. Как и посоветовали, я решил сначала разобраться с вычислениями. Со скрипом и неоценимой помощью Интернета, но кое-что нацарапал, и вроде бы даже считает. Только у меня теперь большая проблема с классом. Помогите, пожалуйста, переделать код так, чтобы использовался класс.
C++ (Qt)
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
#include <math.h>
#include <iostream>
using namespace std;
#include <string>
int _tmain(int argc, _TCHAR* argv[])
{
 
 //ввожу точки для построения
{  double x1,x2,x3,y1,y2,y3, c,p,s,pp,a,b;
  cout<<"x1="; cin>>x1;
  cout<<"y1="; cin>>y1;
  cout<<"x2="; cin>>x2;
  cout<<"y2="; cin>>y2;
  cout<<"x3="; cin>>x3;
  cout<<"y3="; cin>>y3;
 //ищу длины сторон
 a = sqrt(((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2))); cout<<" a=" <<a<<endl ;
 b = sqrt(((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3))); cout<<" b=" <<b<<endl ;
 c = sqrt(((x2-x3)*(x2-x3))+((y2-y3)*(y2-y3))); cout<<" c=" <<c<<endl ;
//ищу периметр  и полупериметр
 p = a+b+c;  cout<<"perimetr=" <<p<<endl;
 pp=p/2;
 //нахожу площадь по формуле Герона
s=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
cout<<"ploshad=" <<s<<endl;}
system("pause");
    return 0;
}
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
01.06.2014, 21:08     Треугольник в С++ #7
Цитата Сообщение от Lightmen Посмотреть сообщение
Помогите, пожалуйста, переделать код так, чтобы использовался класс.
прочитайте рпо классы, всё очень просто, попробуйте написать свой, выложите, мы поправим, пользы будет больше чем если это сделают за вас
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2014, 22:22     Треугольник в С++
Еще ссылки по теме:

C++ Треугольник
Треугольник на с++ C++
треугольник C++

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

Или воспользуйтесь поиском по форуму:
Lightmen
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 26
02.06.2014, 22:22  [ТС]     Треугольник в С++ #8
Почитал, класс объявил
C++ (Qt)
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
#include <math.h>
#include <iostream>
using namespace std;
#include <string>
 
 class Triangle
 {
private:
    double x1,x2,x3,y1,y2,y3, c,p,s,pp,a,b ;
public:
    triangle(double, double, double);
    void show_triangle(void);
};
 
int _tmain(int argc, _TCHAR* argv[])
{
 
 //ввожу точки для построения
{  double x1,x2,x3,y1,y2,y3, c,p,s,pp,a,b;
  cout<<"x1="; cin>>x1;
  cout<<"y1="; cin>>y1;
  cout<<"x2="; cin>>x2;
  cout<<"y2="; cin>>y2;
  cout<<"x3="; cin>>x3;
  cout<<"y3="; cin>>y3;
 //ищу длины сторон
 a = sqrt(((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2))); cout<<" a=" <<a<<endl ;
 b = sqrt(((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3))); cout<<" b=" <<b<<endl ;
 c = sqrt(((x2-x3)*(x2-x3))+((y2-y3)*(y2-y3))); cout<<" c=" <<c<<endl ;
//ищу периметр  и полупериметр
 p = a+b+c;  cout<<"perimetr=" <<p<<endl;
 pp=p/2;
 //нахожу площадь по формуле Герона
s=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
cout<<"ploshad=" <<s<<endl;}
system("pause");
    return 0;
}
Но как сделать требуемые вычисления методами класса, я не знаю. Помогите, пожалуйста
Yandex
Объявления
02.06.2014, 22:22     Треугольник в С++
Ответ Создать тему
Опции темы

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