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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.96
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
10.10.2012, 17:43     Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) #1
помогите решить программу ветвлением на с++
Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) для 3 значений отрезков.

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

1. Ввести натуральное число N. Определить, является ли оно совершенным (совершенное число N равно сумме всех своих делителей, не превосходящих само N).
2. Поменять местами цифры старшего и младшего разрядов данного натурального числа (например, из числа 3879 получится 9873).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
10.10.2012, 23:36  [ТС]     Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) #21
Цитата Сообщение от soundtrack Посмотреть сообщение
строка 17: вместо void main(void) напиши int main()
и перед последней самой закрывающейся скобкой напиши return 0;
работает, только прямоугольный он не вычисляет, все время остроугольный получается
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soundtrack
 Аватар для soundtrack
41 / 41 / 4
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 23:43     Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) #22
Уверен, что всё правильно вводишь? стандартный пример треугольника со сторонами 3,4,5 - всё правильно вычисляет...
Миниатюры
Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)  
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
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;
}
вот прога, пишет остроугольный. хотя он прямой
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 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;
вот тут вы напрямую сравниваете числа с плавающей точкой. Это делать не рекомендуется из-за возможной погрешности
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 10:54     Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)
Еще ссылки по теме:

C++ Определить вид треугольника
C++ По заданным длинам сторон определить вид треугольника, вычислить длины его высот, и вывести их по возрастанию

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

Или воспользуйтесь поиском по форуму:
хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 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;         
}
Yandex
Объявления
11.10.2012, 10:54     Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)
Ответ Создать тему
Опции темы

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