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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
#1

Определить прямоугольность треугольника по трём сторонам - C++

04.10.2010, 13:31. Просмотров 1772. Ответов 28
Метки нет (Все метки)

Сделал сам, но работает только при том условии, когда сторона "А" - это гипотенуза.
Помогите, плз, чтоб программа работала для трёх любых введённых сторон.


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
// bl.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "conio.h"
#include "math.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    float A;
    do
    {
        printf("\n BBeDuTe cTopoHy A: ");
        scanf("%f",&A);
        if(A<=0)
        {
            printf("OIIIu6Ka");
        }
    }while(A<=0);
    printf("CTOPOHA A=%f",A);
 
    float B;
    do
    {
        printf("\n BBeDuTe cTopoHy B: ");
        scanf("%f",&B);
        if(B<=0)
        {
            printf("OIIIu6Ka");
        }
    }while(B<=0);
    printf("CTOPOHA B=%f",B);
 
    float C;
    do
    {
        printf("\n BBeDuTe cTopoHy C: ");
        scanf("%f",&C);
        if(C<=0)
        {
            printf("OIIIu6Ka");
        }
    }while(C<=0);
    printf("CTOPOHA C=%f",C);
 
    do
    {
        if(A==sqrt(B*B+C*C))
        {
            printf("\n TpeyroJIbHuK IIp9IMoyroJIbHblu");
        }
    }while(A==sqrt(B*B+C*C));
        printf("\n TpeyroJIbHuK HE IIp9IMoyroJIbHblu");
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 13:31     Определить прямоугольность треугольника по трём сторонам
Посмотрите здесь:

Найти площадь пятиугольника (определить функцию для расчёта площади треугольника по трём сторонам) - C++
даны вещественные числа a.b.c.d.e Найти площадь пятиугольника ,(определить функцию для расчёта площади треугольника по трём сторонам) в...

Упростить код вычисления трёх высот треугольника по трём сторонам - C++
Здравствуйте! Имеется код вычисления трёх высот треугольника по трём сторонам. Можно ли упростить его использовав одну функцию общую...

Реализовать функцию нахождения площади треугольника по трём известным сторонам - C++
Народ, решите пожалуйста! Сам не успеваю, очень прошу! Разработать функцию f(x, у, z), которая по длинам сторон треугольника х, у, z...

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

Возможность существования треугольника по сторонам - C++
Определить возможность существования треугольника по сторонам. Треугольник существует только тогда, когда сумма любых двух его сторон...

По заданным сторонам треугольника вычисить высоты - C++
Напишите программу которая по заданным сторонам треугольника a,b,c вычисляет длины высот проведенных к этим сторонам.

Нахождение углов треугольника по трем его сторонам - C++
На данный момент у меня получается вот так.. На форуме есть подобная тема но она на языке паскаль...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.10.2010, 12:42     Определить прямоугольность треугольника по трём сторонам #16
Цитата Сообщение от <<FIRsT BLooD>> Посмотреть сообщение
В целом. Какой вариант мне взять?
Напишите, плз, готовый вариант полной программы.
Есть подозрение, что стартовая программа написана кем то другим\
murderer
3197 / 1420 / 72
Регистрация: 06.10.2010
Сообщений: 3,073
08.10.2010, 12:54     Определить прямоугольность треугольника по трём сторонам #17
Очень интересный цикл у него
C
1
2
3
4
5
6
7
do
        {
                if(A==sqrt(B*B+C*C))
                {
                        printf("\n TpeyroJIbHuK IIp9IMoyroJIbHblu");
                }
        }while(A==sqrt(B*B+C*C));
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
08.10.2010, 13:19  [ТС]     Определить прямоугольность треугольника по трём сторонам #18
murderer, нам препод показал шаблоны, вот я и составил по ним, как ты сказал, "стартовую программу". Он всем разные задачи раздал.

LineStown, ок, а его в конец вставлять?
murderer
3197 / 1420 / 72
Регистрация: 06.10.2010
Сообщений: 3,073
08.10.2010, 13:25     Определить прямоугольность треугольника по трём сторонам #19
Короче

C
1
2
3
4
5
6
7
A2 = A*A;
B2 = B*B;
C2 = C*C;
if (((A2-B2-C2)&(B2-A2-C2)&(C2-B2-A2))==0)
    printf("\n TpeyroJIbHuK IIp9IMoyroJIbHblu");
else
   printf("\n TpeyroJIbHuK HE IIp9IMoyroJIbHblu");
Так понятно?
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
26.10.2010, 19:13  [ТС]     Определить прямоугольность треугольника по трём сторонам #20
Нет.
вставляю в конце, он мне 13 ошибок выдаёт.
И вообще у меня вроде как нет if/else...
С++ надо, а не просто С.

Оч прошу вставить что куда надо в мою недопрогу в 1 посте, буду очень признателен.

Добавлено через 1 час 50 минут
+
чем быстрее, тем лучше)
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
26.10.2010, 20:42     Определить прямоугольность треугольника по трём сторонам #21
<<FIRsT BLooD>>, да вот же ответ Определить прямоугольность треугольника по трём сторонам
Перечитайте еще раз тему
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
27.10.2010, 08:01  [ТС]     Определить прямоугольность треугольника по трём сторонам #22
А куда вставить этот код??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool isRect(double hyp, double cat1, double cat2)
{
    return (hyp*hyp == cat1*cat1 + cat2*cat2);
}
 
int main()
{
    double  a, b, c;
    std::cin>>a>>b>>c;
    if(a > b && a > c)
        std::cout<<(isRect(a, b, c) ? "true" : "false");
    else if(b > a && b > c)
        std::cout<<(isRect(b, a, c) ? "true" : "false");
    else if(c > a && c > b)
        std::cout<<(isRect(c, a, b) ? "true" : "false");
}
Добавлено через 5 минут
Он ещё какие-то необъявленные операторы выдаёт... Бред...
Мне через два часа нужно сдать это!
Если вам сложно доработать мою программу - так и скажите, на ваш сайт не буду надеяться - найду другой способ.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
27.10.2010, 08:02     Определить прямоугольность треугольника по трём сторонам #23
<<FIRsT BLooD>>, это полноценный код, в вашу прогу его не надо вставлять. Добавьте только:
C++
1
#include <iostream>
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
27.10.2010, 08:10  [ТС]     Определить прямоугольность треугольника по трём сторонам #24
Не хочет...
Миниатюры
Определить прямоугольность треугольника по трём сторонам  
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
27.10.2010, 08:17     Определить прямоугольность треугольника по трём сторонам #25
Поменяйте местами iostream и stdafx.
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
27.10.2010, 08:21  [ТС]     Определить прямоугольность треугольника по трём сторонам #26
Добавил
C++
1
2
3
4
5
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <ctime>
 using namespace std;
Заработало...

Но нужно чтоб как минимум ответ (true или false) оставался на экране.
Ну а в идеале нужен диалог с пользователем, как в моей проге (введите сторону...).
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
27.10.2010, 08:31     Определить прямоугольность треугольника по трём сторонам #27
Скопировал ваш диалог из первого поста:
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
#include "stdafx.h"
#include <iostream>
 
bool isRect(double hyp, double cat1, double cat2)
{
    return (hyp*hyp == cat1*cat1 + cat2*cat2);
}
 
int main()
{
    double  a, b, c;
    do{
    std::cout<<"\n BBeDuTe cTopoHy A: ";
    std::cin>>a;
        if(a<=0)
        std::cout<<"OIIIu6Ka";
        }while(a<=0);
 
    do{
    std::cout<<"\n BBeDuTe cTopoHy B: ";
    std::cin>>b;
        if(b<=0)
        std::cout<<"OIIIu6Ka";
        }while(b<=0);
 
    do{
    std::cout<<"\n BBeDuTe cTopoHy C: ";
    std::cin>>c;
        if(c<=0)
        std::cout<<"OIIIu6Ka";
        }while(c<=0);
 
    if(a > b && a > c)
        std::cout<<(isRect(a, b, c) ? "true" : "false");
    else if(b > a && b > c)
        std::cout<<(isRect(b, a, c) ? "true" : "false");
    else if(c > a && c > b)
        std::cout<<(isRect(c, a, b) ? "true" : "false");
 
    std::cin.get();
    std::cin.get();
    return 0;
}
*Орфография и стиль автора сохранены)
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
27.10.2010, 08:34     Определить прямоугольность треугольника по трём сторонам #28
Скажите, разве это так сложно было, что вы почти за 20 дней не смогли написать эти пару строк?
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
#include "stdafx.h"
#invluce <iostream>
 
bool isRect(double hyp, double cat1, double cat2)
{
    return (hyp*hyp == cat1*cat1 + cat2*cat2);
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    double  a, b, c;
    std::cout<<"Введите первую сторону:\n> ";
    std::cin>>a;
    std::cout<<"Введите вторую сторону:\n> ";
    std::cin>>b;
    std::cout<<"Введите третью сторону:\n> ";
    std::cin>>c;
    std::cout<<"\nРезультат:\n< ";
    if(a > b && a > c)
        std::cout<<(isRect(a, b, c) ?
                             "Треугольник прямоугольный" :
                             "Треугольник не прямоугольный");
    else if(b > a && b > c)
        std::cout<<(isRect(b, a, c) ? 
                             "Треугольник прямоугольный" :
                             "Треугольник не прямоугольный");
    else if(c > a && c > b)
        std::cout<<(isRect(c, a, b) ? 
                             "Треугольник прямоугольный" :
                             "Треугольник не прямоугольный");
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 08:36     Определить прямоугольность треугольника по трём сторонам
Еще ссылки по теме:

Построение треугольника по трем сторонам, найти площадь - C++
Запутался с написанием программы Помогите! Даны три числа. Если они могут быть длинами сторон разностороннего остроугольного...

Найти максимальную площадь треугольника по двум его сторонам - C++
Формат ввода Первая строка ввода содержит два целых числа A и B (1 ≤ A, B ≤ 109) – заданные длины сторон. Формат вывода Вывести одно...

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

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

Вывести три числа, которые будут равны сторонам треугольника - C++
Привет всем.Только недавно начал учится.Короче такая простая задача:даны 3 переменные типа float надо чтоб она читала и выводила три числа...


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

Или воспользуйтесь поиском по форуму:
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
27.10.2010, 08:36  [ТС]     Определить прямоугольность треугольника по трём сторонам #29
dihlofos, СПАСИБОООО!!!!

Добавлено через 1 минуту
M128K145, и Вам спасибо большое! =)
Yandex
Объявления
27.10.2010, 08:36     Определить прямоугольность треугольника по трём сторонам
Ответ Создать тему
Опции темы

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