Создать класс отрезок, заданный на оси Ох - 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 ); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д