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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
#1

проверка треугольника - C++

10.09.2011, 22:11. Просмотров 1779. Ответов 24
Метки нет (Все метки)

Всем привет!
Народ, а как правильно проверить существует ли треугольник, у меня в этом ошибка
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
#include<iostream.h>
#include<conio.h>
 
class Triangle
{
   private:
 float seta,setc;
   public:
 Triangle(float seta,float setc);
 float run()
 { return 2*seta+setc; }
};
 
 Triangle::Triangle(float a,float c)
 {
   seta=a;
   setc=c;
 }
 
int main()
{
 float a,b,c;
 cout<<"Вычисление периметра равнобедренного треугольника.\n\n";
 cout<<"Введите боковую сторону треугольника: ";
 cin>>a;
 a==b;
 cout<<"Введите основание треугольника: ";
 cin>>c;
 if((a>0)&&(c>0))
 {
    if(a<=b+c && b<=a+c && c<=a+b)
    {
      Triangle tr(a,c);
      cout<<"Периметр равнобедренного треугольника равен: "<<tr.run()<<endl;
    }
    else
         {
           textcolor(RED);
           cprintf("\n\rНеправильно введены параметры боковых сторон.");
           cprintf("\n\n\rНарушено свойство треугольника: ");
           cprintf("\n\rлюбая сторона треугольника меньше двух других сторон и больше их разности.");
           getch();
         }
 }
 else
      {
        textcolor(RED);
        cprintf("\n\rВведенное Вами значение неверно!!!");
        cprintf("\n\n\rЗначение введенных переменных должно быть отлично от нуля.");
        getch();
      }
 
 puts("\n\nДля выхода нажмите любую клавишу...");
 getch();
 return 0;
}
Добавлено через 1 минуту
Заранее всем спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2011, 22:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос проверка треугольника (C++):

Проверка условия существования треугольника - C++
нужно написать программу Даны 3 числа, определить могут ли эти числа являться сторонами треугольника

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые - C++
Задание матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые.Не понимаю,как сделать???помогите...

Известна гипотенуза С и противолежащий угол B прямоугольного треугольника. Найти периметр треугольника - C++
Помогите написать данную программу: Известна гипотенуза С и противолежащий угол B прямоугольного треугольника. Найти периметр треугольника

Даны длины сторон треугольника, определить тип этого треугольника - C++
Даны длины сторон треугольника, определить тип этого треугольника

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:15 #2
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
Всем привет!
Народ, а как правильно проверить существует ли треугольник
А можно подробнее. А так, существует, и не один
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:19  [ТС] #3
а почему и не один
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:21 #4
Врде треугольник существует, если длина любой его стороны строго меньше суммы двух других.

Добавлено через 2 минуты
Это надо находить длины его сторон и сравнивать.
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:22  [ТС] #5
спасибо, но у меня ошибка в if(a<=b+c && b<=a+c && c<=a+b), не понимаю, почему некорректно работает
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:24 #6
Цитата Сообщение от Dani Посмотреть сообщение
Врде треугольник существует, если длина любой его стороны строго меньше суммы двух других.
Именно так и есть. Если для каждого числа верно свойство, что оно меньше суммы двух других, то это треугольник (ВСЕГДА)

Добавлено через 1 минуту
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
спасибо, но у меня ошибка в if(a<=b+c && b<=a+c && c<=a+b), не понимаю, почему некорректно работает
Неравенства должны быть строгими
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:24  [ТС] #7
а как мне правильно написать провеку
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:28 #8
Добавьте using namespace std, cprintf замените на cout. А textcolor уберите.

Добавлено через 22 секунды
так хотябы компилится
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:29  [ТС] #9
а толк какой, это ж для красоты
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:33 #10
a==b, вероятно a=b?

Добавлено через 2 минуты
В 26 строке
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:33 #11
Замените строку
C++
1
a==b;
на
C++
1
 b = a;
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:33  [ТС] #12
Мимо, Dani, не угадал, не там ошибочка
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:35 #13
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
Мимо, Dani, не угадал, не там ошибочка
Ошибка там и еще где-то
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:39 #14
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
#include<iostream.h>
#include<conio.h>
 
class Triangle
{
   private:
 float seta,setc;
   public:
 Triangle(float seta,float setc);
 float run()
 { return 2*seta+setc; }
};
 
 Triangle::Triangle(float a,float c)
 {
   seta=a;
   setc=c;
 }
 
int main()
{
 float a,b,c;
 cout<<"Вычисление периметра равнобедренного треугольника.\n\n";
 cout<<"Введите боковую сторону треугольника: ";
 cin>>a;
 b = a; // ЗДЕСЬ
 cout<<"Введите основание треугольника: ";
 cin>>c;
 if((a>0)&&(c>0))
 {
        if(a<b+c && b<a+c && c<a+b)
        {
          Triangle tr(a,c);
          cout<<"Периметр равнобедренного треугольника равен: "<<tr.run()<<endl;
        }
        else
                 {
                   textcolor(RED);
                   cprintf("\n\rНеправильно введены параметры боковых сторон.");
                   cprintf("\n\n\rНарушено свойство треугольника: ");
                   cprintf("\n\rлюбая сторона треугольника меньше двух других сторон и больше их разности.");
                   getch();
                 }
 }
 else
          {
                textcolor(RED);
                cprintf("\n\rВведенное Вами значение неверно!!!");
                cprintf("\n\n\rЗначение введенных переменных должно быть отлично от нуля.");
                getch();
          }
 
 puts("\n\nДля выхода нажмите любую клавишу...");
 getch();
 return 0;
}
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:42  [ТС] #15
ай, затупил, присвоить надо было, вот это я слепой, всем спасибо
Dani, извини что был не прав
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 22:42
Привет! Вот еще темы с ответами:

Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке - C++
Заданы координаты вершин треугольника.Вывести их в порядке обхода треугольника по часовой стрелке. Вот код, но правильный ли он?! ...

Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника? - C++
Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника?

Зная площадь прямоугольного треугольника и угол при основании, найти все стороны треугольника - C++
Требования к программе: - Входные данные ввести с помощью стандартных процедур ввода; - На печать вывести значение входной переменной и...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.09.2011, 22:42
Ответ Создать тему
Опции темы

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