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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 123, средняя оценка - 4.63
oakenfold04
Сообщений: n/a
#1

Выяснить существует ли треугольник с длинами сторон a,b,c - C++

17.09.2009, 18:56. Просмотров 16178. Ответов 47
Метки нет (Все метки)

Даны действительные положительные числа x,y,z.
Выяснить существует ли треугольник с длиннами сторон x,y,z? помогите сделать программу блок схему сделал а прогу не знаю как
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2009, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выяснить существует ли треугольник с длинами сторон a,b,c (C++):

Выяснить, существует ли треугольник с длинами сторон x, y, z (цикл While) - C++
Даны действительные положительные числа x,y,z. а)Выяснить существует ли треугольник с длинами сторон x,y,z. б)Если треугольник...

Существует ли треугольник с длинами сторон x, y, z - C++
Даны действительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z, если существует, то определить его тип:...

Построить алгоритм, определяющий, существует ли треугольник с заданными длинами сторон a, b и c. - C++
1.Построить алгоритм, определяющий, существует ли треугольник с заданными длинами сторон a, b и c. 2.Даны три вещественных...

Объект «равносторонний треугольник, заданный длинами сторон» - C++
ПОМОГИТЕ РЕШИТЬ - Объект «равносторонний треугольник, заданный длинами сторон». Предусмотреть возможность операции присваивания,...

Треугольник задан длинами сторон. Найти длины медиан - C++
Помогите решить задачу. Треугольник задан длинами сторон.Найти длины медиан.

Проверить, можно ли построить треугольник с заданными длинами сторон - C++
Ребят помогите с решением задачи. Задание надо сделать на языке C++ Даны произвольные числа a,b,c. Если нельзя построить треугольник с...

47
Nikituki
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
17.09.2009, 19:02 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
 int treug (int x, int y, int z)
{int k=1;
if (x>y+z)
  k=0; 
else
     if (y>x+z)
       k=0; 
     else
          if (z>x+y)
            k=0;
return k;
}
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
17.09.2009, 20:39 #3
Выложи сюда блок-схему - по блок-схеме программа пишется просто.
Недавно решали такую задачу.
Я предложил сначала отсортировать a,b,c, чтобы было a<=b<=c.
Тогда условие будет простое: k= (a+b>c);
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
17.09.2009, 21:41 #4
согласен с odip'ом. Это самое простое. Только лучше реализовать массивом
0
Evg
Эксперт CАвтор FAQ
17947 / 6178 / 413
Регистрация: 30.03.2009
Сообщений: 16,970
Записей в блоге: 27
17.09.2009, 21:48 #5
а можно просто

C
1
return (a+b>c) && (b+c>a) && (c+a>b);
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
17.09.2009, 21:51 #6
а можно просто
Как оказывается - не все так просто
C
1
return (a+b>c) || (b+c>a) || (c+a>b);
0
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,474
17.09.2009, 22:04 #7
В последнем случае всегда возвращается 1
0
galileopro
Пробующий
183 / 96 / 1
Регистрация: 28.04.2009
Сообщений: 1,040
17.09.2009, 22:07 #8
Вроде можно и так и эдак. Только true/false местами поменяются.

Добавлено через 2 минуты
А нет так нельзя.
Цитата Сообщение от odip Посмотреть сообщение
2 return (a+b>c) || (b+c>a) || (c+a>b);
Тут если даже одно из условий не выполнится возвращается правда. А так быть не должно.
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
17.09.2009, 22:09 #9
Да - действительно - Evg был прав.

Добавлено через 46 секунд
Ну если подать a==b==c==0, то будет false
1
Evg
Эксперт CАвтор FAQ
17947 / 6178 / 413
Регистрация: 30.03.2009
Сообщений: 16,970
Записей в блоге: 27
17.09.2009, 22:19 #10
Цитата Сообщение от odip Посмотреть сообщение
Да - действительно - Evg был прав.

Добавлено через 46 секунд
Ну если подать a==b==c==0, то будет false
C
1
return (a>=0) && (b>=0) && (c>=0) && (a+b>c) && (b+c>a) && (c+a>b);
0
Nikituki
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
17.09.2009, 22:19 #11
Цитата Сообщение от odip Посмотреть сообщение
Ну если подать a==b==c==0, то будет false
Сторона треугольника не может равняться 0....
0
Evg
Эксперт CАвтор FAQ
17947 / 6178 / 413
Регистрация: 30.03.2009
Сообщений: 16,970
Записей в блоге: 27
17.09.2009, 22:20 #12
Цитата Сообщение от Nikituki Посмотреть сообщение
Сторона треугольника не может равняться 0....
Но пользователь может ввести
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
17.09.2009, 22:21 #13
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
int main()
{
    setlocale(LC_ALL, "Russian");
    float a, b, c;
    std::cout<<"Введите первую сторону:\n> ",std::cin>>a;
    std::cout<<"Введите вторую сторону:\n> ",std::cin>>b;
    std::cout<<"Введите третью сторону:\n> ",std::cin>>c;
    ((a+b>c) && (b+c>a) && (c+a>b)) ?
        std::cout<<"Треугольник\n" :
        std::cout<<"Не треугольник\n";
    system("pause");
    return 0;
}

Прикол в том, что Evg хорошо это все записал(я так понял для проверки логики) и возвращался только результат последней проверки.
0
Nikituki
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
17.09.2009, 22:23 #14
Цитата Сообщение от Evg Посмотреть сообщение
Но пользователь может ввести
Если введет, то будет false, все логично
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
17.09.2009, 22:31 #15
ЗЫ. даже ноль не страшен проверке из 5 поста
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2009, 22:31
Привет! Вот еще темы с ответами:

Определить, можно ли построить треугольник с длинами сторон, равным этим числам - C++
1)Даны три положительных числа. Определить, можно ли построить треугольник с длинами сторон, равным этим числам. Если можно, то ответить на...

Треугольник АВС задан длинами своих сторон. Найти углы треугольника - C++
помогите составить программу в С++ Треугольник АВС задан длинами своих сторон. Найти углы треугольника.

Треугольник задан длинами сторон; найти радиусы вписанной и описанной окружностей - C++
Добрый вечер! Помогите пожалуйста написать простенькую программу на с++ Не могу разобраться, может по вашему коду получится, заранее...

Треугольник ABC задан длинами свих сторон. Найти длину высоты, опущенной из вершины A. - C++
помогите пожалуйста решить задачки...очень надо а я незнаю и не понимаю как решить...заранее большое спасибо... задачки надо решить не...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
17.09.2009, 22:31
Ответ Создать тему
Опции темы

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