Advertisement
Egonau

Untitled

Jan 15th, 2021
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 KB | None | 0 0
  1. using System;
  2.  
  3. namespace NewLesson1
  4. {
  5.     class Program
  6.     {
  7.         struct Point
  8.         {
  9.            public int x;
  10.            public int y;
  11.             public Point(int x, int y)
  12.             {
  13.                 this.x = x;
  14.                 this.y = y;
  15.             }
  16.             public override string ToString()
  17.             {
  18.                 return $"{x} {y}";
  19.             }
  20.             public static void sort(Point[] points)
  21.             {
  22.                 Point smaller, bigger;
  23.                 for (int j = 0; j < points.Length - 1; ++j)
  24.                 {
  25.                     for (int i = 1; i < points.Length; ++i)
  26.                     {
  27.                         bigger = points[i] + points[i - 1];
  28.                         if (bigger.Equals(points[i])) smaller = points[i - 1];
  29.                         else smaller = points[i];
  30.                         points[i - 1] = bigger;
  31.                         points[i] = smaller;
  32.                     }
  33.                 }
  34.             }
  35.             public static Point operator+(Point left, Point right) //перегрузил +, так как с < и > нужно перегружать оба знака обязательно.
  36.             {
  37.                 if (left.x == right.x)
  38.                 {
  39.                     if (left.y > right.y) return new Point(left.x, left.y);
  40.                     else return new Point(right.x, right.y);
  41.                 }
  42.                 else
  43.                 {
  44.                     if (left.x > right.x) return new Point(left.x, left.y);
  45.                     else return new Point(right.x, right.y);
  46.                 }
  47.             }
  48.         }
  49.         static void Main(string[] args)
  50.         {
  51.             Point[] points = new Point[3];
  52.             points[0] = new Point(2, 4);
  53.             points[1] = new Point(2, 8);
  54.             points[2] = new Point(3, 2);
  55.             Point.sort(points);
  56.             for (int i = 0; i < points.Length; ++i)
  57.             {
  58.                 Console.WriteLine(points[i]);
  59.             }
  60.         }
  61.     }
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement