Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Описать класс, представляющий треугольник, Простейшие классы. 
:(
    Опции темы
Tinysik2009
  Дата 23.12.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 2.5.2009

Репутация: нет
Всего: нет



Здравствуйте, помогите пожалуйста с решением задачи.

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


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

Код

using System;
namespace test
{
    abstract class Figure
    {
        //Площадь фигуры
        public abstract double square();
        public abstract double perimeter();
        //Пересечение медиан
       // public abstract double median();
  }
    class Triangle : Figure
    {
        double a, b, c; //Стороны

   //Конструктор
        public Triangle(double a, double b, double c)
        {
            this.a = a;
            this.b = b;
            this.c = c;
  }


        public override double square()
        {
            //Используем формулу Герона
            double p = (a + b + c) / 2;
            return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
        }


        public override double perimeter()
        {
            return a + b + c;
        }

        /*
                public override double median()
                {

                }
            }

         (v1+v2+v3)/3 
                */



   class Test
        {
            public static void Main()
            {
                Figure f1;
                f1 = new Triangle(3, 4, 5);

                System.Console.WriteLine("Периметр треугольника = " + f1.perimeter());
                System.Console.WriteLine("Площадь треугольника = " + f1.square());
              //  System.Console.WriteLine("пересечение медиан = " + f1.median());
               Console.ReadLine();
            }
        }
    }

}


                                                                                                                                           Спасибо smile
PM MAIL   Вверх
Экскалупатор
Дата 23.12.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



очевидно, что нужно задать точки, применительно к какой то системе координат. т.е. если предполагается что треугольник на плоскости то нужны (X,Y). сделайте структуру Point с двумя полями поле X и поле Y соответственно.
PM MAIL ICQ   Вверх
Tinysik2009
  Дата 23.12.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 2.5.2009

Репутация: нет
Всего: нет



ну это я понимаю smile . 
Посоветуйте как лушче их (вершины) задать. Я так понимаю их будет необходимо соединить, чтобы построить треугольник, а уже затем и найти точку пересечения медиан. smile 
PM MAIL   Вверх
Экскалупатор
Дата 23.12.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(Tinysik2009 @  23.12.2009,  20:53 Найти цитируемый пост)
необходимо соединить, чтобы построить треугольник,

а как вы собираетесь его строить? я так понимаю что вам его строить не нужно, вам нужно проверить реально ли его построить.

Добавлено через 1 минуту и 35 секунд
Цитата

известно, что медианы треугольника делятся точкой пересечения в отношении 2:1, считая от вершин, из которых они проведены. Поэтому для нахождения координаты точки пересечения медиан достаточно найти координаты точки N, такой что |AN| : |NP| = 2:1, где P – середина отрезка BC. Имеем:
- координаты точки P: xP = (xB + xC)/2, yP = (yB + yC)/2, zP = (zB + zC)/2;
- координаты точки N (искомой точки пересечения медиан треугольника ABC):
xN = (xA + 2•xP)/3, yN = (yA + 2•yP)/3, zN = (zA + 2•zP)/3;


источник
PM MAIL ICQ   Вверх
Tinysik2009
  Дата 23.12.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 2.5.2009

Репутация: нет
Всего: нет



спасибо за помощь.  smile 
Думаю, завтра на свежую голову доделаю задачку =)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.