8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет!
Народ, а как правильно проверить существует ли треугольник, у меня в этом ошибка
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 минуту
Заранее всем спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2011, 22:11
Ответы с готовыми решениями:

Проверка треугольника на равносторонность
Добрый вечер, не могу сделать проверку треугольника на равносторонность. Так как числа длинны...

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

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

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

24
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 22:15 2
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
Всем привет!
Народ, а как правильно проверить существует ли треугольник
А можно подробнее. А так, существует, и не один
1
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:19  [ТС] 3
а почему и не один
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
10.09.2011, 22:21 4
Врде треугольник существует, если длина любой его стороны строго меньше суммы двух других.

Добавлено через 2 минуты
Это надо находить длины его сторон и сравнивать.
1
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:22  [ТС] 5
спасибо, но у меня ошибка в if(a<=b+c && b<=a+c && c<=a+b), не понимаю, почему некорректно работает
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 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), не понимаю, почему некорректно работает
Неравенства должны быть строгими
1
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:24  [ТС] 7
а как мне правильно написать провеку
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
10.09.2011, 22:28 8
Добавьте using namespace std, cprintf замените на cout. А textcolor уберите.

Добавлено через 22 секунды
так хотябы компилится
0
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
10.09.2011, 22:29  [ТС] 9
а толк какой, это ж для красоты
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
10.09.2011, 22:33 10
a==b, вероятно a=b?

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

Добавлено через 21 секунду
Всем спасибо, тему можно закрывать
0
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;
}
0
8 / 9 / 1
Регистрация: 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;
}
помогите как сделать
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
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");
1
11.09.2011, 00:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2011, 00:02
Помогаю со студенческими работами здесь

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

матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые
Задание матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника...

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru