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

Класс, представляющий треугольник

29.12.2020, 18:44. Показов 742. Ответов 0

Author24 — интернет-сервис помощи студентам
Дано задание:
Описать класс, представляющий треугольник. Предусмотреть методы для
создание объектов, перемещения на плоскости, изменения размеров и вращения на
заданный угол. Описать свойства для получения состояния объекта. при
невозможности построения треугольника выбрасывается исключения.
Описать класс - наследник, применить абстрактные методы / классы
/ Свойства, виртуальные методы / свойства.
Написать программу, демонстрирующую все разработанные элементы
класса.
На форуме я нашел что-то вроде решения, но оно не рабочее, поэтому я вынужден был сам его переделывать. Вот что вышло:
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
class Point
    {
        public double x, y;
        public Point(double _x, double _y)
        {
            x = _x;
            y = _y;
        }
    }
    class Triangle
    {
        public Point a { set; get; }
        public Point b { set; get; }
        public Point c { set; get; }
 
        public Triangle(Point _a, Point _b, Point _c)   //конструктор
        {
            a = _a;
            b = _b;
            c = _c;
        }
        public void sd_right(double w1)   //сдвиг вправо
        {
 
            a.x = +w1; b.x = +w1; c.x = +w1;  
        }
        public void sd_left(double w2)    //сдвиг влево
        {  
            a.x = -w2; b.x = -w2; c.x = -w2;
        }
        public void sd_up(double w3)  //сдвиг верх
        {    
            a.y = +w3; b.y = +w3; c.y = +w3;
        }
        public void sd_down(double w4)    //сдвиг вниз
        {
            a.y =-w4; b.y = -w4; c.y = -w4;
        }
        public double R(Point _a, Point _b)
        {
            return Convert.ToSingle(Math.Sqrt(Math.Pow(_a.x - _b.x, 2) + Math.Pow(_a.y - _b.y, 2)));
        }
        public void sd_alfa(double d )    //поворот на угол d
        {
            
            Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
            a.x = M.x + Convert.ToSingle(R(M, a) * Math.Cos(d));
            a.y = M.y - Convert.ToSingle(R(M, a) * Math.Sin(d));
            b.x = M.x + Convert.ToSingle(R(M, b) * Math.Cos(d));
            b.y = M.y - Convert.ToSingle(R(M, b) * Math.Sin(d));
            c.x = M.x + Convert.ToSingle(R(M, c) * Math.Cos(d));
            c.y = M.y - Convert.ToSingle(R(M, c) * Math.Sin(d));
        }
        public void sd_rad(double r,double d) //увелiчение на r
        {
            Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
            a.x = Convert.ToSingle((R(M, a) + r) * Math.Cos(d));
            a.y = -Convert.ToSingle((R(M, a) + r) * Math.Sin(d));
            b.x = Convert.ToSingle((R(M, b) + r) * Math.Cos(d));
            b.y = -Convert.ToSingle((R(M, b) + r) * Math.Sin(d));
            c.x = Convert.ToSingle((R(M, c) + r) * Math.Cos(d));
            c.y = -Convert.ToSingle((R(M, c) + r) * Math.Sin(d));
        }
 
        public void GetInfo()
        {
            Console.WriteLine($"a=({a.x},{a.y}), b=({b.x},{b.y}) , c=({c.x},{c.y}) ");   
        }
    };
    class Program
    {
        static void Main(string[] args)
        {
            Point a = new Point(1, 1);
            Point b = new Point(3, 3);
            Point c = new Point(3, 1);
            double r = 6;
            double d = 0.4;
            double w1 = 1;
            double w2 = 0;
            double w3 = 0;
            double w4 = 0;
            Triangle T = new Triangle(a, b, c);
            T.sd_down((double)w4);
            T.sd_left((double)w2);
            T.sd_rad((double)r,d);
            T.sd_right((double)w1);
            //T.sd_up((double)w3);
            T.GetInfo();
            Console.ReadLine();
        }
    }
Но как оказалось, программа считает не верно. Прошу пофиксить как-то это или,может , переписать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2020, 18:44
Ответы с готовыми решениями:

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

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

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

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

0
29.12.2020, 18:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2020, 18:44
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

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