Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 5
1

Введите 3 числа.Если они могут быть длинами сторон равнобедренного тупоугольного треугольника ,вычислите его площадь.

06.12.2018, 13:02. Просмотров 492. Ответов 1
Метки нет (Все метки)

Задание:Введите 3 числа.Если они могут быть длинами сторон равнобедренного тупоугольного треугольника ,вычислите его площадь.Выведите длины сторон и площадь в порядке возрастания значений.

Помогите написать в JavaScript.
Написал в C# но в java не могу(

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
class Program
    {
        static int sidesCount = 3;
        static void Main(string[] args)
        {
            double[] sides; initializeSides(out sides);
            double[] distinctSides = sides.Distinct().ToArray();
 
            
            if (isIsosceles(distinctSides)) //Равнобедренный или нет
            {
                int sameSideIndex = getSameSideIndex(sides, distinctSides);
                int baseSideIndex = getBaseSideIndexIfObtuse(distinctSides, sameSideIndex);
                if (baseSideIndex != -1) //Тупоугольный или нет
                {
                    double sameSide = distinctSides[sameSideIndex];
                    double baseSide = distinctSides[baseSideIndex];
                    double h = Math.Sqrt( sameSide * sameSide - (baseSide * baseSide) / 4);
                    double s = (baseSide * h) / 2;
                    Console.WriteLine("Площадь равна {0}", s);
                }   
                else Console.WriteLine("Не тупоугольный.");
            }
            else Console.WriteLine("Не равнобедренный.");
            Console.ReadKey();
        }
 
        static void initializeSides(out double[] sides)
        {
            sides = new double[sidesCount];
            for (int i = 0; i < sides.Length; i++)
            {
                Console.WriteLine("Enter a side #{0}", i - 1);
                sides[i] = Convert.ToDouble(Console.ReadLine());
            }
        }
 
        static bool isIsosceles(double[] distinctSides)
        {
            if(distinctSides.Count() == sidesCount)
            {
                return false;
            }
            return true;
        }
 
        static int getSameSideIndex(double[] sides, double[] distinctSides)
        {
            int sameSideIndex = -1; //Индекс первой эквивалентной стороны, ищем индекс \/
            for (int distSideI = 0; distSideI < distinctSides.Length; distSideI++)
            {
                int sameSidesCount = 0; 
                for(int sideI  = 0; sideI < sides.Length; sideI++)
                {
                    if (sides[sideI] == distinctSides[distSideI])
                        sameSidesCount++;
                }
                if (sameSidesCount > 1)
                {
                    sameSideIndex = distSideI;
                    break;
                }
            }
 
            if (sameSideIndex != -1)
            {
                return sameSideIndex;
            }
            return -1;
        }
 
        static int getBaseSideIndexIfObtuse(double[] distinctSides, int sameSideIndex)
        {
            for (int sideI = 0; sideI < distinctSides.Length; sideI++)
            {
                if (sideI != sameSideIndex && distinctSides[sideI] <= distinctSides[sameSideIndex])
                    return sideI; //
            }
            return -1;
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2018, 13:02
Ответы с готовыми решениями:

Введите три числа. Если они могут быть длинами сторон тупоугольного треугольника, выведите их в порядке убывания и вычислите площадь
Введите три числа. Если они могут быть длинами сторон тупоугольного треугольника, выведите их в...

Введите три числа.Если они могут быть длинами сторон равнобедренного треугольника.Вычислите длины его высот.В
Введите три числа.Если они могут быть длинами сторон равнобедренного треугольника.Вычислите длины...

Введите 3 числа. Если они могут быть длинами сторон треугольника, вычислите его площадь
Введите 3 числа.Если они могут быть длинами сторон разностороннего остоугольньного...

Если три числа могут быть длинами сторон равнобедренного тупоугольного треугольника, вычислить его площадь
Помогите пожалуйста с задачей. Ввести три числа. Если они могут быть длинами сторон...

1
Эксперт JS
3793 / 2074 / 994
Регистрация: 14.06.2018
Сообщений: 4,501
06.12.2018, 16:15 2
Fant1k747, а почему так усложнили?
Всё проще:
PHP/HTML
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
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        let a = +prompt("a = "),
            b = +prompt("b = "),
            c = +prompt("c = ");
        if (!isNaN(a) || !isNaN(b) || !isNaN(c)) {
            // Сортировка
            let tmp;
            if (a > b) {
                tmp = b;
                b = a;
                a = tmp;
            }
            if (b > c) {
                tmp = c;
                c = b;
                b = tmp;
            }
            if (a > b) {
                tmp = b;
                b = a;
                a = tmp;
            }
            // Треугольник ли
            if (a <= 0 || b <= 0 || c >= a + b) {
                alert("Это не треугольник.");
            }
            else if (a != b || (Math.pow(a, 2) + Math.pow(b, 2) >= Math.pow(c, 2))) {
                alert("Это не равнобедренный тупоугольный треугольник.");
            }
            else { // Равнобедренный тупоугольный треугольник
                console.log(a);
                console.log(b);
                console.log(c);
 
                let p = (a + b + c) / 2,
                    s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
 
                console.log("S=" + s);
            }
        }
    </script>
</body>
</html>
Вложенные условия
Здесь меня попросили расписать по нотам сортировку. Её можно и сплющить.
В C# всё то же самое.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2018, 16:15

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

Если числа могут быть длинами сторон равнобедренного треугольника , вычислите его площадь
Введите три числа&gt;Если они могут быть длинами сторон равнобедренного треугольника , вычислите его...

Если три числа могут быть длинами сторон равнобедренного треугольника то вычислите его площадь
Даны три числа. Если они могут быть длинами сторон равнобедренного тупоугольного треугольника то...

Введите три числа. Если они могут быть длинами сторон разностороннего тупоугольного треугольника, то
помогите пожалуйста с этой задачкой Условный оператор в PHP. Создать в текстовом...

Даны три числа, если они могут быть длинами сторон равнобедренного треугольника, вычислите длины его высот
Здравствуйте. Помогите пожалуйста, очень нужно. Моя подруга попросила решить меня, но я давно ничем...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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