Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107

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

23.12.2016, 18:28. Показов 4478. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать класс, представляющий треугольник. Предусмотреть методы для создания объектов, вычисления площади, периметра. Описать свойства для получения состояния объекта.
На писал как-то так. Вылетаю ошибки типа пропущена директива Using. Ни чего не понимаю
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
 
namespace ConsoleApplication6
{
    class Triangle
    {
        private readonly Point[] _points = new Point[3];
 
        #region Properties
        public Point A
        {
            get { return _points[0]; }
            set { _points[0] = value; }
        }
        public Point B
        {
            get { return _points[1]; }
            set { _points[1] = value; }
        }
        public Point C
        {
            get { return _points[2]; }
            set { _points[2] = value; }
        }
        public double AB
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[1].X, 2) + Math.Pow(_points[0].Y - _points[1].Y, 2)); }
        }
 
        public double BC
        {
            get { return Math.Sqrt(Math.Pow(_points[1].X - _points[2].X, 2) + Math.Pow(_points[1].Y - _points[2].Y, 2)); }
        }
 
        public double AC
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[2].X, 2) + Math.Pow(_points[0].Y - _points[2].Y, 2)); }
        }
 
        public Point Center
        {
            get
            {
                return new Point((A.X + B.X + C.X) / 3,
                                 (A.Y + B.Y + C.Y) / 3);
            }
        }
 
        public double Perimeter
        {
            get { return AB + BC + AC; }
        }
 
        public double Square
        {
            get
            {
                double p = Perimeter / 2;
                double temp = p * (p - AB) * (p - BC) * (p - AC);
                return Math.Sqrt(temp);
            }
        }
        #endregion
 
        public Triangle(Point a, Point b, Point c)
        {
            _points[0] = a;
            _points[1] = b;
            _points[2] = c;
 
 
            if (AB >= BC + AC || AC >= BC + AB || BC >= AB + AC)
            {
                throw new ArgumentException("Недопустимый размер треугольника. Точки лежат на одной прямой или длина ребра равна нулю");
            }
 
        }
 
      }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2016, 18:28
Ответы с готовыми решениями:

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

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

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

22
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
23.12.2016, 19:09
using System.Drawing; не хватает
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 04:34  [ТС]
Цитата Сообщение от valera_21 Посмотреть сообщение
using System.Drawing; не хватает

Имя типа или пространства отсутствует в пространстве имен sistem
0
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
24.12.2016, 08:37
Цитата Сообщение от mrKrog Посмотреть сообщение
Имя типа или пространства отсутствует в пространстве имен sistem
Ты же консольное приложение создаешь, надо указать референс на System.Drawing.dll
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 11:33  [ТС]
Цитата Сообщение от frusty Посмотреть сообщение
надо указать референс
я через вижуал студио проги пишу, как там это сделать?
0
 Аватар для XIST
1962 / 1072 / 148
Регистрация: 01.10.2009
Сообщений: 3,613
Записей в блоге: 1
24.12.2016, 11:41
Цитата Сообщение от mrKrog Посмотреть сообщение
sistem
Вы так и написали?
0
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
24.12.2016, 11:42
///
Миниатюры
Описать класс, представляющий треугольник   Описать класс, представляющий треугольник  
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 22:11  [ТС]
Цитата Сообщение от XIST Посмотреть сообщение
Вы так и написали?
нет, system

Добавлено через 4 минуты
Цитата Сообщение от frusty Посмотреть сообщение
///
директива добавилась, но теперь пишет : "Ошибка 1 Программа "c:\users\documents\visual studio 2010\Projects\ConsoleApplication39\Conso leApplication39\obj\x86\Debug\ConsoleApp lication39.exe" не содержит статического метода "Main", подходящего для точки входа ConsoleApplication39"

Что это значит?
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
25.12.2016, 01:06
mrKrog, это означает, что в коде Вашего проекта отсутствует статический метод Main, который должен стать точкой входа для приложения при его запуске.
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
25.12.2016, 15:18  [ТС]
Цитата Сообщение от bax_tang Посмотреть сообщение
отсутствует статический метод Main
Извиняюсь за тупой вопрос и как сделать, чтоб он присутствовал?
0
 Аватар для XIST
1962 / 1072 / 148
Регистрация: 01.10.2009
Сообщений: 3,613
Записей в блоге: 1
25.12.2016, 16:42
Цитата Сообщение от mrKrog Посмотреть сообщение
Извиняюсь за тупой вопрос и как сделать, чтоб он присутствовал
написать через клавиатуру, Вы его удалили?
1
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
25.12.2016, 22:07
mrKrog, содержимое файла Program.cs смотрите - если там ни в одном из классов не присутствует Main, Вам придется написать его самостоятельно.
статья на MSDN Вам в помощь.
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 04:35  [ТС]
Цитата Сообщение от bax_tang Посмотреть сообщение
Вам придется написать его самостоятельно
так?? Все равно ошибки : показывает что фигурная скобка лишняя, а возле самого мэина показывает, что скобки не хватает. Сделал как показывает вижуал - прога не работает (черный экран).
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
 
namespace ConsoleApplication6
{
    class Triangle
    {
        static void Main(string[] args)
        {
    
        private readonly Point[] _points = new Point[3];
 
        #region Properties
        public Point A
        {
            get { return _points[0]; }
            set { _points[0] = value; }
        }
        public Point B
        {
            get { return _points[1]; }
            set { _points[1] = value; }
        }
        public Point C
        {
            get { return _points[2]; }
            set { _points[2] = value; }
        }
        public double AB
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[1].X, 2) + Math.Pow(_points[0].Y - _points[1].Y, 2)); }
        }
 
        public double BC
        {
            get { return Math.Sqrt(Math.Pow(_points[1].X - _points[2].X, 2) + Math.Pow(_points[1].Y - _points[2].Y, 2)); }
        }
 
        public double AC
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[2].X, 2) + Math.Pow(_points[0].Y - _points[2].Y, 2)); }
        }
 
        public Point Center
        {
            get
            {
                return new Point((A.X + B.X + C.X) / 3,
                                 (A.Y + B.Y + C.Y) / 3);
            }
        }
 
        public double Perimeter
        {
            get { return AB + BC + AC; }
        }
 
        public double Square
        {
            get
            {
                double p = Perimeter / 2;
                double temp = p * (p - AB) * (p - BC) * (p - AC);
                return Math.Sqrt(temp);
            }
        }
        #endregion
 
        public Triangle(Point a, Point b, Point c)
        {
            _points[0] = a;
            _points[1] = b;
            _points[2] = c;
 
 
            if (AB >= BC + AC || AC >= BC + AB || BC >= AB + AC)
            {
                throw new ArgumentException("Недопустимый размер треугольника. Точки лежат на одной прямой или длина ребра равна нулю");
            }
 
        }
 
      }
}
}
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 06:03
mrKrog, это потому, что:
1. класс Triangle нужно вынести изнутри метода Main (объявление классов внутри методов недопустимо)
2. внимательно перечитать статью, ссылку на которую я давал в предыдущем посте
3. в методе Main реализовать диалог с пользователем (программа сама понятия не имеет, что Вы хотите делать и с чем; Ваша задача - объяснить это ей!)
4. ...
5. PROFIT
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 09:09  [ТС]
Цитата Сообщение от bax_tang Посмотреть сообщение
PROFIT
Ну я понял что его надо написать после объявления класса, но не понял его синтаксис и где конкретно писать. Вижуал теперь пишит что нужен модификатор. Покажите как это делается, кто может.
0
 Аватар для XIST
1962 / 1072 / 148
Регистрация: 01.10.2009
Сообщений: 3,613
Записей в блоге: 1
26.12.2016, 09:20
mrKrog, да создайтье новый проект и посмотрите)
0
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 09:50  [ТС]
Цитата Сообщение от XIST Посмотреть сообщение
создайтье новый проект и посмотрите
если прописать мэин как он атоматически пишется в новом проекте, то вылетают ошибки , я уже это писал

Цитата Сообщение от mrKrog Посмотреть сообщение
Все равно ошибки : показывае
Добавлено через 4 минуты
Может кто-нибудь просто помочь дописать код?
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 10:27
Лучший ответ Сообщение было отмечено mrKrog как решение

Решение

mrKrog, нет ничего проще:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System; // подключение необходимых пространств имён
using System.Collections.Generic;
using System.Linq;
 
namespace CyberForum
{
    internal class Program
    {
        internal static void Main(string[] args)
        {
            // тут Ваш код - ввод/вывод данных,
            // использование других классов (стандартных из .NET и определённые Вами в проекте)
        }
    }
    
    /* определение других классов */
}
Добавлено через 2 минуты
Цитата Сообщение от mrKrog Посмотреть сообщение
если прописать мэин как он атоматически пишется в новом проекте, то вылетают ошибки
Вы хоть покажите, какие именно ошибки; скорее всего, проблема яйца выеденного не стоит и решается парой строчек.
1
 Аватар для mrKrog
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 10:33  [ТС]
Цитата Сообщение от bax_tang Посмотреть сообщение
проблема яйца выеденного не стоит и решается парой строчек.
вот так как-то. Может проблема того и не стоит, но учитывая, что я тупой - не совсем понимаю что надо сделать
Миниатюры
Описать класс, представляющий треугольник   Описать класс, представляющий треугольник  
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 10:59
Цитата Сообщение от mrKrog Посмотреть сообщение
учитывая, что я тупой - не совсем понимаю что надо сделать
Фиговая не очень годная отмазка, если честно.

Студия Вам вполне русским языком пишет (см. второй скрин) - "требуется }". Сравните Ваш код с моим, обратите внимание на отличия.

Если так будет понятнее:

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
// подключение необходимых пространств имён
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace CyberForum
{ // <<< вот ЭТА открывающая фигурная скобка обязательна
    // точку входа - метод Main - лучше расположить в отдельном классе - поверьте, так удобнее, надёжнее
    // и в конечном итоге проще; класс можете назвать как угодно, например, Program
    // (я обычно называю этот класс EntryPoint - для внесения дополнительной конкретики)
    internal class Program
    { // <<< вот ЭТА открывающая фигурная скобка обязательна
        // вот этот метод с именем Main станет точкой входа для приложения
        internal static void Main(string[] args)
        { // <<< вот ЭТА открывающая фигурная скобка обязательна
 
            // тут Ваш код - ввод/вывод данных,
            // создание и использование экземпляров класса Triangle и других классов, которые Вам понадобятся
 
        } // <<< вот ЭТА закрывающая фигурная скобка обязательна
    } // <<< вот ЭТА закрывающая фигурная скобка обязательна
    
    /* определение класса Triangle и ВСЕХ ОСТАЛЬНЫХ классов размещается ЗДЕСЬ, ПОСЛЕ класса Program */
} // <<< вот ЭТА закрывающая фигурная скобка обязательна
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2016, 10:59
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru