Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 60
1

Класс Треугольник

24.10.2018, 19:33. Показов 5562. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Язык C#
Дан класс треугольник, члены класса – длины трех сторон. (поля закрытые).
Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре( длины сторон, углы, периметр, площадь).
Создать производный класс – прямоугольный треугольник, предусмотреть в классе проверку, является ли треугольник прямоугольным.
Написать программу, демонстрирующую работу с классом: дано M треугольников и N прямоугольных треугольников, найти среднюю площадь М треугольников и прямоугольный треугольник с наибольшей гипотенузой.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2018, 19:33
Ответы с готовыми решениями:

Построить класс треугольник и на его основе создать класс параллелограмм, используя механизм наследования
Построить класс треугольник и на его основе создать класс параллелограмм, используя механизм...

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

Класс представляющий треугольник.
Добрый вечер ув. программисты, в своей лабораторной работе столкнулся со сл. проблемой и вопросами....

Описать класс треугольник
Описать класс, представляющий треугольник. Предусмотреть методы для создания объектов, вычисления...

8
Модератор
Эксперт .NET
15828 / 10978 / 2850
Регистрация: 21.04.2018
Сообщений: 32,226
Записей в блоге: 2
24.10.2018, 19:40 2
Цитата Сообщение от wiktoriya04 Посмотреть сообщение
Дан класс треугольник, члены класса – длины трех сторон. (поля закрытые).
Посмотрите эти темы https://www.cyberforum.ru/sear... d=14854454
0
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
25.10.2018, 11:57 3
wiktoriya04, так пойдет?)
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
class Triangle
{
    double SideA {get; set;}
    double SideB {get; set;}
    double SideC {get; set;}
    bool CheckTriangle {get; set;}
 
    internal double AngleA {get; set;}
    internal double AngleB {get; set;}
    internal double AngleC {get; set;}
 
    double Perimeter {get;set;}
    double Square {get;set;}
 
    public Triangle(double sideA, double sideB, double sideC)
    { 
        this.SideA = sideA; this.SideB = sideB; this.SideC = sideC; 
        this.CheckTriangle = (this.SideA*this.SideA).Equals(this.SideB*this.SideB + this.SideC*this.SideC) ||
                             (this.SideB*this.SideB).Equals(this.SideA*this.SideA + this.SideC*this.SideC) ||
                             (this.SideC*this.SideC).Equals(this.SideB*this.SideB + this.SideA*this.SideA);
 
        this.Perimeter = this.SideA + this.SideB + this.SideC;
        this.Square = Math.Sqrt(this.Perimeter/2*(this.Perimeter/2 - this.SideA)*(this.Perimeter/2 - this.SideB)*(this.Perimeter/2 - this.SideC));
          
        this.AngleA = Math.Asin(2*this.Square/(this.SideA*this.SideB)) * 180 / Math.PI;
        this.AngleB = Math.Asin(2*this.Square/(this.SideB*this.SideC)) * 180 / Math.PI;
        this.AngleC = Math.Asin(2*this.Square/(this.SideA*this.SideC)) * 180 / Math.PI;
    }
 
    public double LongSide() => Math.Max(this.SideA, Math.Max(this.SideB, this.SideC));
 
    public override string ToString() => 
        $"Длины сторон: AB = {this.SideA} BC = {this.SideB} AC = {this.SideC} " + 
        $"Углы: ∠BC = {this.AngleA} ∠AC = {this.AngleB} ∠AB = {this.AngleC} " +
        $"Периметр -> {this.Perimeter} Площадь -> {this.Square}";
}
 
class RightTriangle : Triangle
{
    public bool rightTriangle {get;set;} = false;
 
    public RightTriangle(double sideA, double sideB, double sideC) : base(sideA, sideB, sideC) =>
        this.rightTriangle = base.AngleA.Equals(90) || base.AngleB.Equals(90) || base.AngleC.Equals(90);
 
    public override string ToString() => base.ToString() + (this.rightTriangle ? $" Треугольник прямоугольный" : $"Треугольник не прямоугольный");
}
0
0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 60
25.10.2018, 23:21  [ТС] 4
Конечно не так как бы хотелось ))Просто по условию должны быть "private(закрытые поля ,а у ВАС в задаче ,по умолчанию, стоит public)".Если конечно я правильно поняла.
А почему nичего в" main" нету ,если доступ к полям класса осуществляется только из Main
0
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
26.10.2018, 11:25 5
Цитата Сообщение от wiktoriya04 Посмотреть сообщение
Конечно не так как бы хотелось ))Просто по условию должны быть "private(закрытые поля ,а у ВАС в задаче ,по умолчанию, стоит public)"
Ещё раз
Цитата Сообщение от wiktoriya04 Посмотреть сообщение
закрытые поля
Все поля приватные или в internal, что значит доступны только наследникам => тз не нарушено. В public только методы!

Цитата Сообщение от wiktoriya04 Посмотреть сообщение
А почему nичего в" main" нету ,если доступ к полям класса осуществляется только из Main
А что с инициализацией сами не справитесь?)
0
Элд Хасп
26.10.2018, 14:59
  #6

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
А что с инициализацией сами не справитесь?)
А что есть сомнения в способностях?
Я не сомневаюсь - и близко не справится!

0
Zodt
26.10.2018, 16:56
  #7

Не по теме:

Цитата Сообщение от Элд Хасп Посмотреть сообщение
А что есть сомнения в способностях?
Я не сомневаюсь - и близко не справится!
Цитата Сообщение от wiktoriya04 Посмотреть сообщение
А почему nичего в" main" нету ,если доступ к полям класса осуществляется только из Main
Ну если про Main в курсе, значит какие-то знания есть + у нее тест на знание плюсов пройден на 20%, что подтверждает мою гипотезу о том, что базу человек частично знает. ЧТД как говорится в геометрии)

0
Модератор
Эксперт .NET
15828 / 10978 / 2850
Регистрация: 21.04.2018
Сообщений: 32,226
Записей в блоге: 2
26.10.2018, 17:30 8

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
Ну если про Main в курсе, значит какие-то знания есть + у нее тест на знание плюсов пройден на 20%, что подтверждает мою гипотезу о том, что базу человек частично знает. ЧТД как говорится в геометрии)
Оптимист Вы по жизни..., наверное. Не потеряли веру в людей...


0
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 1
24.11.2018, 04:10 9
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
class Triangle
    {
        private double a;//катет
        private double b;//катет
        private double c;//гипотенуза
 
        public double A
        {
            get
            {
                return a;
            }
            set
            {
                a = value;
            }
        }
 
        public double B
        {
            get
            {
                return b;
            }
            set
            {
                b = value;
            }
        }
 
        public double C
        {
            get
            {
                return c;
            }
            set
            {
                c = value;
            }
        }
 
        public Triangle(double a, double b, double c)
        {
            A = a;
            B = b;
            C = c;
        }
 
        public void Info()
        {
            Console.WriteLine("Длина стороны А {0}\nДлина стороны B {1}\nДлина стороны C {2}" +
                "\nПериметр: {3}\nПлощадь: {4}\n", A, B, C, Perimetr(), Area());
        }
 
        public double Perimetr()
        {
            return A + B + C;
        }
 
        public double Area()//Площадь
        {
            int p = (int)Perimetr();
            return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
        }
 
        public bool Sushest()//Метод проверки существования треугольника
        {
            bool res = ((a + b < c) || (b + c > a) || (c + a > b));
            if(res == true)
            {
                Console.WriteLine("Треугольник существует");
            }
            else
            {
                Console.WriteLine("Такого треугольника не существует");
            }
            return res;
        }
 
        public void Ugol()
        {
            Console.WriteLine("Углы: ");
            Console.WriteLine("{0:F3}", Math.Acos((B * B + C * C - A * A) / (2 * B * C)) * 180 / Math.PI);
            Console.WriteLine("{0:F3}", Math.Acos((A * A + C * C - B * B) / (2 * A * C)) * 180 / Math.PI);
            Console.WriteLine("{0:F3}", Math.Acos((A * A + B * B - C * C) / (2 * A * B)) * 180 / Math.PI);
        }
 
        public double MaxArea(params double[] a)//принимает массив площадей
        {
            return a.Max();//используя стандартный метод массива возвр максимальный элемент
        }
    }
Добавлено через 1 минуту
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 RectangTriangle : Triangle
    {
        public RectangTriangle(double a, double b, double c) : base(a, b, c)
        {
            //используем конструктор базового класса
        }
 
        public void PryamouglChiNe()
        {
            if ((A * A + B * B == C * C) || (A * A + C * C == B * B) || (C * C + B * B == A * A))
            {
                Console.WriteLine("Треугольник прямоугольный");
            }
            else
            {
                Console.WriteLine("Треугольник не прямоугольный");
            }
        }
 
        public double MinGipot(params double[] a)
        {
            return a.Min();
        }
    }
0
24.11.2018, 04:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2018, 04:10
Помогаю со студенческими работами здесь

Класс представляюший треугольник
Описать класс, представляющий треугольник. Предусмотреть методы для создания объектов, вычисления...

Описать класс треугольник
Описать класс треугольник, содержащий длины сторон, и методы: определяющий правильность введения...

Создать класс треугольник
Помогите пожалуйста с этим... Создать класс треугольник, члены класса – длины трех сторон. ...

Реализовать класс треугольник
дан класс треугольник, поля– длины трех сторон.методы ... Создать производный класс –...


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

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