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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.96
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 96
#1

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

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

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

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

1. Ввести натуральное число N. Определить, является ли оно совершенным (совершенное число N равно сумме всех своих делителей, не превосходящих само N).
2. Поменять местами цифры старшего и младшего разрядов данного натурального числа (например, из числа 3879 получится 9873).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 17:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить вид треугольника (прямоугольный, остроугольный или тупоугольный) (C++):

Определить вид треугольника - C++
Здравствуйте, дорогие форумчане. Мне снова нужна ваша помощь. Вот задание: Треугольник задан своими вершинами (x1,y1), (x2,y2),...

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

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

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

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

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

24
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 20:37 #16
Александр26, ну без кода трудно понять в чем проблема. Киеь код, что ты там нашаманил - будем разбираться. А вообще, на будущее, создавай для каждой задачи отдельную тему, а то не понять какую задачу кто помогает решить сейчас.
0
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 96
10.10.2012, 20:39  [ТС] #17
Цитата Сообщение от soundtrack Посмотреть сообщение
Александр26, ну без кода трудно понять в чем проблема. Киеь код, что ты там нашаманил - будем разбираться. А вообще, на будущее, создавай для каждой задачи отдельную тему, а то не понять какую задачу кто помогает решить сейчас.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
int main ( )
{
    int x, y, z, ;
    printf ("Enter x =");
    printf ("Enter y =");
    printf ("Enter z =");
    scanf ("%f", &x);
    scanf ("%f", &y);
    scanf ("%f", &z);
    
    if(x*x>(y*y+z*z) )
    printf ("itypoi");
    else if (x*x<(y*y+z*z))
    printf ("ostryi");
    else printf ("pryamoi") ;
    
system ("pause");
return 0;
}
0
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 23:19 #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
#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;
}
 
void main(void)
{
    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();
}
0
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 96
10.10.2012, 23:25  [ТС] #19
`main' must return `int' пишет
0
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 23:32 #20
строка 17: вместо void main(void) напиши int main()
и перед последней самой закрывающейся скобкой напиши return 0;
0
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 96
10.10.2012, 23:36  [ТС] #21
Цитата Сообщение от soundtrack Посмотреть сообщение
строка 17: вместо void main(void) напиши int main()
и перед последней самой закрывающейся скобкой напиши return 0;
работает, только прямоугольный он не вычисляет, все время остроугольный получается
0
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131
10.10.2012, 23:43 #22
Уверен, что всё правильно вводишь? стандартный пример треугольника со сторонами 3,4,5 - всё правильно вычисляет...
0
Миниатюры
Определить вид треугольника (прямоугольный, остроугольный или тупоугольный)  
Александр26
0 / 0 / 0
Регистрация: 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
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;
вот тут вы напрямую сравниваете числа с плавающей точкой. Это делать не рекомендуется из-за возможной погрешности
0
хАЛЕКСЕЙх
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;         
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 10:54
Привет! Вот еще темы с ответами:

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

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

функция, которая принимает высоту треугольника и выводит на экран прямоугольный треугольник - C++
Напишите функцию, которая принимает высоту треугольника и выводит на экран прямоугольный треугольник из звездочек.:help:

Для треугольника известны три стороны. Найти его площадь, если этот треугольник прямоугольный - C++
Для треугольника известны три стороны. Найти его площадь, если этот треугольник прямоугольный. В с++


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

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

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