Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/140: Рейтинг темы: голосов - 140, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22

Создать класс Triangle для представления треугольника

13.04.2012, 20:27. Показов 26510. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые участники форума,напишите пожалуйста код следующей программы на Visual Studio 2010:

Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисления периметра, вычисления высот, а также определения вида треугольника (равносторонний, равнобедренный или прямоугольный).

Задача требует срочного решения,поскольку срок её сдачи на проверку очень короткий.
Заранее спасибо)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2012, 20:27
Ответы с готовыми решениями:

Создать класс Triangle для представления треугольника
Доброго времени суток! Нужна помощь по C# Не понимаю как реализовать... Создать класс Triangle для представления треугольника. ...

Класс Triangle для представления треугольника. Поля должны включать углы и стороны
Создайте класс с закрытыми полями, где операции реализуются как методы класса. Класс Triangle для представления треугольника. Поля...

Класс Triangle, добавить возможность изменения одной из сторон треугольника
Есть класс треугольник. Как добавить возможность изменения одной из сторон треугольника? Условие существования треугольника я добавил. А...

10
Заблокирован
13.04.2012, 22:07
Цитата Сообщение от Tador Посмотреть сообщение
Поля данных должны включать углы и стороны.
Поля данных должны включать лишь координаты вершин - три значения типа Point.
Если сделать как вы говорите: "углы и стороны" - это все вычисляемо из предыдущего класса.
Если базироваться на вашем классе - здесь без ошибок ввода юзером неправильных значений не обойтись.
Ну, и методы класса(высоты и т.д.) должны тоже вычисляться от координат вершин.

Более конкретно поставьте задачу(может я и не понял чего)
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
13.04.2012, 22:37
Описать класс "Треугольник"

Добавлено через 9 минут
по 2-м углам сумма которых <180 градусов можно создать бесконечное множество треугольников, т.е. нужны еще координаты 2-х вершин для привязки к координатам и определения размеров, по трем сторонам тоже нужны хотя-бы две соответствующие вершины, поэтому три неравные вершины -оптимальное, необходимое и достаточное условие.
0
13.04.2012, 23:03

Не по теме:

Цитата Сообщение от Talent Посмотреть сообщение
поэтому три неравные вершины -оптимальное, необходимое и достаточное условие.
Можно еще доказательство этого?

"Оптимальное" - не из этой темы, по всей видимости.

0
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
14.04.2012, 16:57  [ТС]
В методических указаниях было дано именно такое условие(ввод углов и сторон и реализация операций)
Описать класс "Треугольник"-там слишком сложный код,мне нужен более банальнее.
Нужен код C# хотя бы как то подходящий под данное условие (не обязательно строгое соблюдение) Буду благодарен,если кто нибудь выложит здесь таковой)
Миниатюры
Создать класс Triangle для представления треугольника  
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.04.2012, 18:24
Tador, как-бы из школьной геометрии ясно, что существует три способа однозначно задать треугольник...
0
Заблокирован
14.04.2012, 18:38
Лучший ответ Сообщение было отмечено как решение

Решение

Ну, треугольник, как треугольник.
Вот класс с периметром, площадью и типом()
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
        class Triangle
        {
            double AB;
            double AC;
            double BC;
            double A;
            double B;
            double C;
            double perim()
            {
                return AB + AC + BC;
            }
            double Area()
            {
                double p=(AB+AC+BC)/2.0;
                return Math.Sqrt(p * (p - AB) * (p - AC) * (p - BC));
            }
            string GetType()
            {
                if (AB == BC && AB == AC) return "равносторонний";
                if (AB == BC || AB == AC || BC == AC) return "равнобедренный";
                return "треугольник, как треугольник";
            }
        }
Хотя это бред препода так классы делать.

За точность не ручаюсь.
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
16.04.2012, 20:00  [ТС]
А как реализовать изменение полей данных и их ввод?
Чтобы сначала вводились данные,а по том на основании введенных данных осуществлялись вычисления и выводились ответы
0
Заблокирован
22.04.2012, 13:55
Через Console.ReadLine() и Console.WriteLine().
0
24 / 23 / 3
Регистрация: 21.04.2012
Сообщений: 253
22.04.2012, 16:16
Парень, спасибо за интересное задание!)
Надеюсь, что моя работа тебе поможет, хотя профессионал напишет лучше )
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Triangle 
    {
        
        public static void Main()
        {
            
            Console.WriteLine("Введите стороны и углы треугольника:");
            input();
            Console.WriteLine("Выберете операцию:");
            Console.WriteLine("1. Периметр треугольника");
            Console.WriteLine("2. Площадь треугольника");
            Console.WriteLine("3. Вычисление высоты треугольника");
            Console.WriteLine("4. Вид треугольника");
            Console.WriteLine("5. Описание треугольника");
            int num = Convert.ToInt32(Console.ReadLine());
            double output = 0;
            double pp = (arr[0] + arr[1] + arr[2])/2;
            Console.Clear();
            switch (num)
            {
                case 1:
                    Console.WriteLine("Периметр : {0}см", arr[0] + arr[1] + arr[2]);
                    break;
                case 2:
                    Console.WriteLine("Площадь : {0}см", Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2])));
                    break;
                case 3:
                    for (int i = 0; i < 3; i++)
                    {
                        output = 2 * (Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2]))) / arr[i];
                        Console.WriteLine("Высота опущенна на сторону №{0} равняется {1}см",i+1,output);
                    }                    
                    break;
                case 4:
                    type();
                    break;
                case 5:
                    Console.WriteLine("Полное описание треугольника:");
                    Console.WriteLine("Периметр : {0}см", arr[0] + arr[1] + arr[2]);
                    Console.WriteLine("Площадь : {0}см", Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2])));
                    for (int i = 0; i < 3; i++)
                    {
                        output = 2 * (Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2]))) / arr[i];
                        Console.WriteLine("Высота опущенна на сторону №{0} равняется {1}см", i + 1, output);
                    }
                    type();
                    break;
            }
            
            Console.ReadLine();
        }
        public static void type()
        {
            int[] a = new int[6];
            for (int i = 0; i < 6; i++)
            {
                a[i] = Convert.ToInt32(arr[i]);
            }
            if (a[0] == a[1] && a[1] == a[2])
            {
                Console.WriteLine("Треугольник равносторонний");
                return;
            }
            if (a[0] == a[1] || a[1] == a[2] || a[2] == a[0])
            {
                Console.WriteLine("Треугольник равноберенный");
            }
            if (a[0] != a[1] && a[1] != a[2])
            {
                Console.WriteLine("Треугольник разносторонний");
            }
        }
        public static double[] arr = new double[6];
        public static void input()
        {
            beg_input:
            for (int i = 1; i < 7; i++)
            {
                if (i < 4)
                {
                    Console.WriteLine("Введите сторону №" + i);
                    arr[i-1] = Convert.ToInt32(Console.ReadLine());
                }
                else
                {
                    Console.WriteLine("Введите угол  №" + i);
                    arr[i-1] = Convert.ToInt32(Console.ReadLine());
                }
            }
            if (arr[3] + arr[4] + arr[5] != 180)
            {
                Console.Clear();
                Console.WriteLine("Сумма углов не равна 180. Повторите ввод");
                goto beg_input;
            }
            Console.Clear();
        }  
    }
}
2
0 / 0 / 0
Регистрация: 04.06.2020
Сообщений: 1
04.06.2020, 16:53
Создать тип данных для представления треугольника на плоскости. Обеспечить возможность создания, копирования, смещения и изменение треугольников, получения их свойств (в т.ч. вычисление их площади и периметра). помогите, пожалуйста. задание очень похоже. я не понимаю как доработать код в последнем сообщение (С++)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2020, 16:53
Помогаю со студенческими работами здесь

Создать класс Triangle
Создать класс Triangle, разработав следующие элементы класса: Поля: int a, b, c; // стороны треугольника Конструктор: -с...

Создать класс Triangle
добрый день. помогите пожалуйста справится с программой. Создать класс Triangle, разработав следующие элементы класса: a. Поля: ...

Создать класс Triangle
Создать класс Triangle с полями-сторонами. Определить методы изменение сторон, вычисления углов, вычисление периметров. Создать...

Создать класс Triangle
Работаю над этим заданием: Создать класс Triangle, разработав следующие элементы класса: a. Поля: • int a, b, c; b. Конструктор,...

Создать класс Triangle
Друзья, прошу вашей помощи с заданием. Буду очень благодарен!!!! 2. Создать класс Triangle, разработав следующие элементы класса: *...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru