Создать класс отрезок, заданный на оси Ох - C#

Узнай цену своей работы

Формулировка задачи:

Реализовать вычисление длины отрезка, определение середины этого отрезка, вывод на экран. Создать производный класс - прямая на плоскости с реализацией тех же методов.

Решение задачи: «Создать класс отрезок, заданный на оси Ох»

textual
Листинг программы
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
        }
    }
 
    struct dPoint
    {
        public double X;
        public double Y;
 
        public dPoint( double X, double Y )
        {
            this.X = X;
            this.Y = Y;
        }
 
        public override string ToString()
        {
            return string.Format( "({0};{1})", X, Y );
        }
    }
 
    class Segment
    {
        private int _begin;
        private int _end;
 
        public Segment( int Begin, int End )
        {
            _begin = Begin;
            _end = End;
        }
 
        public Segment()
            : this( 0, 0 )
        {
        }
 
        public virtual int GetLength()
        {
            return Math.Abs( _begin ) + Math.Abs( _end );
        }
 
        public virtual dPoint GetMiddlePoint()
        {
            return new dPoint( ( _begin + _end ) / 2, 0 );
        }
 
        public override string ToString()
        {
            return string.Format( "({0},{1})", _begin, _end );
        }
    }
 
    class Straight : Segment
    {
        private dPoint _begin;
        private dPoint _end;
 
        public Straight( dPoint Begin, dPoint End )
        {
            _begin = Begin;
            _end = End;
        }
 
        public Straight( int X1, int X2, int Y1, int Y2 )
            : this( new dPoint( X1, Y1 ), new dPoint( X2, Y2 ) )
        {
        }
 
        public override int GetLength()
        {
            return (int)Math.Sqrt( Math.Pow( _end.X - _begin.X, 2 ) + Math.Pow( _end.Y - _begin.Y, 2 ) );
        }
 
        public override dPoint GetMiddlePoint()
        {
            return new dPoint( ( _begin.X + _end.X ) / 2, ( _begin.Y + _end.Y ) / 2 );
        }
 
        public override string ToString()
        {
            return string.Format( "({0};{1}, {2};{3})", _begin.X, _begin.Y, _end.X, _end.Y );
        }
    }
}

ИИ поможет Вам:


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

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы