Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- using System.Runtime.CompilerServices;
- using System.Security.Cryptography.X509Certificates;
- namespace myloyorrr
- {
- class Program
- {
- class SPoint
- {
- private int x, y;
- public SPoint() { } //конструктор с нулевыми координатами
- public SPoint(int x, int y) { //конструктор с заданными координатами
- this.x = x; this.y = y ;
- }
- public SPoint(SPoint a)
- {
- this.x = a.x; this.y = a.y;
- }
- public void Show(StreamWriter sw) // выводим координаты точки на экран
- {
- sw.WriteLine("({0}, {1})", this.x, this.y);
- }
- public double Distance() // расстояние от начала координат до точки
- {
- return Math.Sqrt(x * x + y * y);
- }
- public int[] Vector(int a, int b) // перемещаем точку на вектор
- {
- this.x = x + a;
- this.y = y + b;
- int[] coord = {x, y};
- return coord;
- }
- public int X //получить-установить точку х
- {
- get { return x; }
- set { x = value; }
- }
- public int Y //получить-установить точку y
- {
- get { return y; }
- set { y = value; }
- }
- public int Mul //умножаем точку на скаляр
- {
- set
- {
- x *= value;
- y *= value;
- }
- }
- public int this[int i] //индексатор
- {
- get
- {
- if (i == 0)
- {
- return x;
- }
- else if (i == 1)
- {
- return y;
- }
- else
- {
- throw new IndexOutOfRangeException("unacceptable index");
- }
- }
- set
- {
- if (i == 0)
- {
- x = value;
- }
- else if (i == 1)
- {
- y = value;
- }
- else
- {
- throw new IndexOutOfRangeException("unacceptable index");
- }
- }
- }
- public static SPoint operator++(SPoint x)
- {
- SPoint p = new SPoint(x);
- p.x++;
- p.y++;
- return p;
- }
- public static SPoint operator --(SPoint x)
- {
- SPoint p = new SPoint(x);
- p.x -= 1;
- p.y -= 1;
- return p;
- }
- public static bool operator true(SPoint a)
- {
- if (a.x != a.y)
- {
- return false;
- }
- return true;
- }
- public static bool operator false(SPoint a)
- {
- if (a.x == a.y)
- {
- return false;
- }
- return true;
- }
- public static SPoint operator +(SPoint t, int a)
- {
- SPoint temp = new SPoint(t);
- temp.x += a;
- temp.y += a;
- return temp;
- }
- public static SPoint operator -(SPoint t, int a)
- {
- SPoint temp = new SPoint(t);
- temp.x -= a;
- temp.y -= a;
- return temp;
- }
- }
- static void Main()
- {
- using (StreamReader sr = new StreamReader("C:/Настя/книит/in.txt"))
- {
- using (StreamWriter sw = new StreamWriter("C:/Настя/книит/out.txt"))
- {
- SPoint t = new SPoint (3, 3); // создаем точку (2,3)
- t.Show(sw);
- double r = t.Distance();
- sw.WriteLine(r); // расстояние от начала координат до точки
- t.Vector(3, 4); // перемещаем точку на вектор
- t.Show(sw);
- t.X = -5; // изменяем координату точки х
- t.Y = -3; // изменяем координату точки у
- t.Show(sw);
- t.Mul = 5;
- t.Show(sw);
- sw.WriteLine(t[0]);
- sw.WriteLine(t[1]);
- t++;
- t.Show(sw);
- t--;
- t.Show(sw);
- if (t)
- {
- sw.WriteLine("значения полей одинаковые");
- }
- else
- {
- sw.WriteLine("значения полей разные");
- }
- t.X = -15;
- if (t)
- {
- sw.WriteLine("значения полей одинаковые");
- }
- else
- {
- sw.WriteLine("значения полей разные");
- }
- t = t + 4;
- t.Show(sw);
- t = t - 10;
- t.Show(sw);
- sw.WriteLine(t[2]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement