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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:11     проверка треугольника #1
Всем привет!
Народ, а как правильно проверить существует ли треугольник, у меня в этом ошибка
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++ Даны длины сторон треугольника, определить тип этого треугольника
C++ Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника?
Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей. C++
Проверка треугольника через исключения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:15     проверка треугольника #2
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
Всем привет!
Народ, а как правильно проверить существует ли треугольник
А можно подробнее. А так, существует, и не один
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:19  [ТС]     проверка треугольника #3
а почему и не один
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:21     проверка треугольника #4
Врде треугольник существует, если длина любой его стороны строго меньше суммы двух других.

Добавлено через 2 минуты
Это надо находить длины его сторон и сравнивать.
Mr. Pyatachok
 Аватар для 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++
 Аватар для Thinker
4215 / 2189 / 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
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:24  [ТС]     проверка треугольника #7
а как мне правильно написать провеку
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:28     проверка треугольника #8
Добавьте using namespace std, cprintf замените на cout. А textcolor уберите.

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

Добавлено через 2 минуты
В 26 строке
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:33     проверка треугольника #11
Замените строку
C++
1
a==b;
на
C++
1
 b = a;
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:33  [ТС]     проверка треугольника #12
Мимо, Dani, не угадал, не там ошибочка
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 22:35     проверка треугольника #13
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
Мимо, Dani, не угадал, не там ошибочка
Ошибка там и еще где-то
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 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
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:42  [ТС]     проверка треугольника #15
ай, затупил, присвоить надо было, вот это я слепой, всем спасибо
Dani, извини что был не прав
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:44     проверка треугольника #16
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
ай, затупил, присвоить надо было, вот это я слепой, всем спасибо
Dani, извини что был не прав
Так правильно b = a, а не a = b
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:47  [ТС]     проверка треугольника #17
да я понял, не заметил просто, не туда смотрел

Добавлено через 21 секунду
Всем спасибо, тему можно закрывать
Zumaster
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 17
10.09.2011, 22:50     проверка треугольника #18
У меня под студию вариант не запустился, по этому свой накатал:
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
#include<iostream>
using namespace std;
 
class Triangle
{
    float a,c;
public:
    Triangle(float seta,float setc);
    float run() { return 2*a+c; }
};
 
 Triangle::Triangle(float seta,float setc)
 {
   a = seta;
   c = setc;
 }
 
int main()
{
    setlocale(LC_ALL,"");
    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
        {
          cout<<"\nНеправильно введены параметры боковых сторон.";
          cout<<"\n\nНарушено свойство треугольника: ";
          cout<<"\n\любая сторона треугольника меньше двух других сторон и больше их разности.";
        }
    }
    else
    {
                
          cout<<"\nВведенное Вами значение неверно!!!";
          cout<<"\n\n\rЗначение введенных переменных должно быть отлично от нуля.";
    }
    cin.get();
    return 0;
}
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 23:42  [ТС]     проверка треугольника #19
извините, но еще один нубский вопросик, захотелось чтобы программа работала столько, сколько захочу делаьт вычисления, если нет, то выходила бы
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
#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;
 char countinue=0;
 
 cout<<"Вычисление периметра равнобедренного треугольника.\n\n";
 cout<<"Введите боковую сторону треугольника: ";
 cin>>a;
 b=a;
 cout<<"Введите основание треугольника: ";
 cin>>c;
 
 do
{
 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();
      }
}while(countinue=='Y' || countinue=='y');
 
 cout<<"\n\nПродолжить работу с программой? (Y/N)";
 cin>>countinue;
 if(countinue=='Y' || countinue=='y')
 {
   clrscr();
 
 }
 else cout<<"\n\nДля выхода нажмите любую клавишу...";
 
 
 getch();
 return 0;
}
помогите как сделать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2011, 00:02     проверка треугольника
Еще ссылки по теме:

C++ Проверка треугольника через исключения
матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые C++
Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке C++

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

Или воспользуйтесь поиском по форуму:
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 00:02     проверка треугольника #20
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
cout<<"\n\nПродолжить работу с программой? (Y/N)";
cin>>countinue;
if(countinue=='Y' || countinue=='y')
{
clrscr();
}
Это поместите внутри цикла.

Добавлено через 29 секунд
И на будущее:
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
cout<<"\n\nДля выхода нажмите любую клавишу...";
getch();
То же самое, что и
C++
1
system ("pause");
Yandex
Объявления
11.09.2011, 00:02     проверка треугольника
Ответ Создать тему
Опции темы

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