0 / 0 / 1
Регистрация: 25.09.2012
Сообщений: 96
1

Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)

10.10.2012, 17:43. Показов 15988. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите решить программу ветвлением на с++
Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) для 3 значений отрезков.

а вот эти через цикл:

1. Ввести натуральное число N. Определить, является ли оно совершенным (совершенное число N равно сумме всех своих делителей, не превосходящих само N).
2. Поменять местами цифры старшего и младшего разрядов данного натурального числа (например, из числа 3879 получится 9873).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2012, 17:43
Ответы с готовыми решениями:

Определить вид треугольника
Программа должна выводить результаты в цифрах: а) 0-не треугольник, б) другой треугольник,...

Определить вид треугольника
Добрый день, пытался написать программку на c++ которая бы отвечала за определение вида...

Определить вид треугольника
Здравствуйте, дорогие форумчане. Мне снова нужна ваша помощь. Вот задание: Треугольник задан...

Определить вид треугольника
1. Ввести углы а, в, с треугольника (а + в + с = 180 º) и определить вид треугольника...

24
0 / 0 / 1
Регистрация: 25.09.2012
Сообщений: 96
10.10.2012, 23:36  [ТС] 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от soundtrack Посмотреть сообщение
строка 17: вместо void main(void) напиши int main()
и перед последней самой закрывающейся скобкой напиши return 0;
работает, только прямоугольный он не вычисляет, все время остроугольный получается
0
42 / 42 / 12
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 23:43 22
Уверен, что всё правильно вводишь? стандартный пример треугольника со сторонами 3,4,5 - всё правильно вычисляет...
Миниатюры
Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)  
0
0 / 0 / 1
Регистрация: 25.09.2012
Сообщений: 96
10.10.2012, 23:56  [ТС] 23
Цитата Сообщение от soundtrack Посмотреть сообщение
Уверен, что всё правильно вводишь? стандартный пример треугольника со сторонами 3,4,5 - всё правильно вычисляет...
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
#include <iostream>
#include <math.h>
using namespace std;
 
bool tup(double a, double b, double c)
{
    if(pow(a,2)+pow(b,2)<pow(c,2)) return true;
    else return false;
}
 
bool pryam(double a, double b, double c)
{
    if(pow(a,2)+pow(b,2)==pow(c,2)) return true;
    else return false;
}
 int main()
{
    setlocale(0, "");
    double x, y, z;
    printf ("Enter x ="); cin>>x;
    printf ("Enter y ="); cin>>y;
    printf ("Enter z ="); cin>>z;
    
    if(tup(x,y,z) || tup(x,z,y) || tup(y,z,x))
        printf ("\nÄàííûé òðåóãîëüíèê тупоугольный.\n");
    else {if (pryam(x,y,z) || pryam(x,z,y) || pryam(y,z,x))
        printf ("\nÄàííûé òðåóãîëüíèê прямоугольный.\n");
    else printf ("\nÄàííûé òðåóãîëüíèê остроугольный.\n");}
    cin.get();
    cin.get();
    return 0;
}
вот прога, пишет остроугольный. хотя он прямой
0
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
11.10.2012, 01:16 24
Александр26, у меня ваш код работает верно.
Для значений 3,4,5 выдает прямоугольный.

Но есть предположение, почему это может не работать
C++
1
if(pow(a,2)+pow(b,2)==pow(c,2)) return true;
вот тут вы напрямую сравниваете числа с плавающей точкой. Это делать не рекомендуется из-за возможной погрешности
0
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118
11.10.2012, 10:54 25
Если я тебя правильно понял (я про 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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <locale.h>  // Для русского языка
#include <conio.h>   // Работа с консолью ( время работы )
 
int main(){
    
    // Локаллизация русского языка
    setlocale(LC_ALL,"Rus"); /* Всегда вначале программы */
        
    // Сама программа
    int sa,sb,sc;
    
    cout << "Введите первую сторону: ";
         cin >> sa;
    cout << "Введите вторую сторону: ";
         cin >> sb;
    cout << "Введите третью сторону: ";
         cin >> sc;
         
    if ((sa^2) + (sb^2) > (sc^2))
       cout << "Угол острый" << endl;
    else if ((sa^2) + (sb^2) < (sc^2))
       cout << "Угол тупой" << endl;
    else 
         cout << "Угол прямоугольный" << endl;
         
 _getch(); // Останавливает закрытие консоли
return 0;         
}
0
11.10.2012, 10:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2012, 10:54
Помогаю со студенческими работами здесь

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

Определить вид треугольника по координатам вершин
Задача 2 : Задача на строки. Даны координаты трех точек на плоскости. Если они могут быть вершинами...

Определить вид треугольника по его углам
Программа правильно выдает результат с тестами 1,2,4. Но неправильно считает гамму в 3 тесте....

Определить вид треугольника по длинам его сторон
Составьте программу, которая определяет вид треугольника по длинам его сторон(если данные длины...


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

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

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