Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/179: Рейтинг темы: голосов - 179, средняя оценка - 4.85
oakenfold04
1

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

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

Author24 — интернет-сервис помощи студентам
Даны действительные положительные числа x,y,z.
Выяснить существует ли треугольник с длиннами сторон x,y,z? помогите сделать программу блок схему сделал а прогу не знаю как
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2009, 18:56
Ответы с готовыми решениями:

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

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

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

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

47
223 / 37 / 4
Регистрация: 18.11.2012
Сообщений: 1,502
12.03.2016, 04:59 41
Author24 — интернет-сервис помощи студентам
А если так:
C++
1
if((b > a && b < c) || b == c)
Вроде работает)

Добавлено через 1 минуту
TheCalligrapher
Посмотрел, выводы сделал. Думаю, вариант выше более близок к истине.
0
Вездепух
Эксперт CЭксперт С++
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
12.03.2016, 07:36 42
Цитата Сообщение от Liss29 Посмотреть сообщение
А если так:
"Если так" где именно? Куда вы это собрались вписывать в вашем коде?
0
70 / 70 / 52
Регистрация: 24.01.2013
Сообщений: 198
12.03.2016, 10:41 43
такое.. свой недовариант
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
#include <iostream.h>
#include <Windows.h>
#include <stdio.h>
 
int main() {
  double a, b, c;
  do {
    cout << "Enter a, b, c: ";
    cin >> a >> b >> c;
  }
 while (a <= 0 || b <= 0 || c <= 0) ;
 
    if (a + b > c) {
        if (b + c > a) {
            if (a + c > b) {
                cout << "Exist.\n";
            }  else     cout << "Not exist.\n";
 
        } else      cout << "Not exist.\n";
 
    } else      cout << "Not exist.\n";
 
system("pause");
return 0;
}
0
223 / 37 / 4
Регистрация: 18.11.2012
Сообщений: 1,502
12.03.2016, 21:20 44
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
"Если так" где именно?
Где, перед началом if-ов для проверки суммы двух значений по отношению к третему.
Как у skipaq примерно так. Что конкретно сейчас не так?
0
Вездепух
Эксперт CЭксперт С++
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
12.03.2016, 22:08 45
Цитата Сообщение от Liss29 Посмотреть сообщение
Как у skipaq примерно так. Что конкретно сейчас не так?
Если вы сделаете так, как у skipaq, то есть добавите ветки else с отрицательными ответами в каждый их ваших if, то ваша программа сразу станет работать правильно. И никаких дополнительных проверок не понадобится. Если же вы не вставите эти ветки, то ваши дополнительные проверки никак вам не помогут.

Об этом, собственно, речь и шла с самого начала.
0
20 / 10 / 2
Регистрация: 07.03.2016
Сообщений: 211
12.03.2016, 22:32 46
задачка с одной стороны конешно издевательская,
с другой поучительная. на что намекает аж пока 3 страницы вариантов её решения.
----
тут много студентов, и имеет смысл упомянуть, что такая задачка может быть использована преподом
для "заставить студента прийти за зачётом неограниченное число раз". <3

Не по теме:

*больше 3х раз. постоянно путаю, какую скобку верно ставить


----
с одной стороны - понятно: если дали Гипотенузу, б0льшую суммΣ сторон Катетов -
треугольника не существует.
но тут возникает вопрос - насколько б0льшую.
*так или иначе - студента заставят принести программу, которая работает.
---------
упоминается треугольник. вариант, что действительное число иррациональное - можно отбросить.
"вы ввели стороны длиной 1,0000000000000000000000000000009 ...стокаженулейбезодного89 -⁄⁄-01 ,
-и это несправедливо, заставлять меня переделывать ещё раз, мне нужен допуск к экзамену.
:>абитуриент{ггг}, - вы знаете, что существуют ещё и действительные иррациональные числа ?
идите. придёте через неделю
----
если студент начинал в коде что-либо умножать - возможный вариант.
*особенно если препод знает, какие вводить числа.

также, следует предварительно обдумать философский вопрос::
"что было вначале, курица, или яйцо"
то бишь - если сумма сторон катетов равна длине гипотенузы - это треугольник, или нет.
*и суметь аргументировать свой ответ.

*один из вариантов - "не существует, поскольку не имеет площади"
*то, что "так изучали в школке", - достаточно.
-------------------------------
вариант что это обычное задание на 1м семестре 1го курса, или для дела - не рассматривается.
поскольку тривиальность, и проще нарисовать.
теперь - оставлю эту давнюю тему. дабы предоставить место интересантам.
*всё сообщение не помечено тегом OFF - поскольку тут уже 3 страницы
0
223 / 37 / 4
Регистрация: 18.11.2012
Сообщений: 1,502
12.03.2016, 23:19 47
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
то есть добавите ветки else с отрицательными ответами в каждый их ваших if
Я первоначально так предлагал зделать, но вы либо не поняли, либо я не достаточно ясно объяснял.
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
#include <iostream>
#include "CyrIOS.h"
using namespace std;
int main()
{
    /*int x = 2;
    int y = 2;
    cout << (++x + y);*/
 
    double a; // катет 
    double b; //катет
    double c; //гипотенуза
 
    cout << "Введите три ненулевых значения: ";
    cin >> a >> b >> c;
    
        
    if((a + b) > c)
    {
        
        if((a + c) > b)
        {
            
            if((b + c) > a)
            {
                cout << "Введённые значения представляют стороны треугольника!" << endl;
            }
            else
                cout << "Не существует" << endl;
        }
       else
        cout << "Не существует" << endl;
    }   
    else 
        cout << "Не существует!" << endl;
        
    return 0;
}
Значит этот код лишний в этом примере?
C++
1
if((b > a && b < c) || b == c)
0
Вездепух
Эксперт CЭксперт С++
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
12.03.2016, 23:31 48
Цитата Сообщение от jdzvk Посмотреть сообщение
с одной стороны - понятно: если дали Гипотенузу, б0льшую суммΣ сторон Катетов -
треугольника не существует. но тут возникает вопрос - насколько б0льшую.
Вообще-то такой вопрос ни у кого пока не возникал: неравенство треугольнька однозначно говорит нам "на сколько" и изучают это неравенство еще в школе. И еще в школе узнают, что если две короткие стороны в сумме короче длинной стороны (неважно на сколько) или равны ей, то такого треугольника не существует или он вырожден. Если же сумма больше (неважно на сколько), то такой треугольник существует.
0
12.03.2016, 23:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2016, 23:31
Помогаю со студенческими работами здесь

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

Выяснить,существует ли треугольник с длинами сторон x,y,z
Даны три положительных вещественных числа x,y,z.Выяснить,существует ли треугольник с длинами сторон...

Выяснить, существует ли треугольник с длинами сторон x, y, z
Разобрать алгоритм и составить программу для решения задачи. Даны действительные числа...

Выяснить, существует ли треугольник с длинами сторон
Пожалуйста помогите решить задачи по программированию. 1.Даны положительные числа x, y, z....


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

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