GetX (); * = Diagonal. B-> GetY () - Diagonal. A-> GetY () ;/ = Diagonal. B-> GetX () - Diagonal. A-> GetX (); + = Diagonal. A-> GetY (); (GetY ()  
 } Point :: Show (int Dump)  
   {color; (Dump) color = 9; (Position () == UPPER) = WHITE; = LIGHTRED; (color); (GetX (), GetY (),  b> 
  ); circle (GetX (), GetY (), 1);  
  }  
  // ------------------ class App ----------------- - App :: Run ()  
   {X, Y,// ​​point, Y1, X2, Y2,// ​​line, i, up, low, temp;// others variablesch; ** Pixels, ** UPixels , ** LPixels; fLine ("Diagonal. txt"); (! fLine)  
   {<<"Can't open the file - Diagonal. txt ";. get ();;  
  }  
  // (x = x1, y = y1) - (x = x2, y2 = y2)>> ch>> ch>> ch>> ; X1>> ch>> ch>> ch>> Y1>> ch>> ch>> ch>> ch>> ch>> X2>> ch>> ch>> ch>> Y2>> ch;. close (); Diagonal (Point (X1, Y1), Point (X2, Y2));  
  // detecting quantity of points (== quantity of strings) fPoints ("Points. txt", ios :: binary); (! fPoints)  
   {<<"Can't open the file - Points. txt ";. get ();;  
  } = 1; = fPoints. get (); (! fPoints. eof ()) {(ch == ' n') + +; = fPoints. get ();  
  }. close ();. open ("Points. txt"); = new Point * [lines]; (i = 0; i 
				
				
				
				
			   { 
  // (x, Y)>> ch>> X>> ch>> Y>> ch; [i] = new Point (X, Y); [i] -> DetectType (Diagonal);  
  }. close ();  
  // detecting quantity of Up-line points = 0; (i = 0; i Position () == Point :: UPPER) + +; = new Point * [temp]; = new Point * [lines-temp]; = low = 0; (i = 0; i 
   {(Pixels [i] -> In_Rect () == Point :: OUT_OF_RECT) continue; (Pixels [i] -> Position () == Point :: UPPER)  
   {[up] = new Point (Pixels [i] -> GetX (), Pixels [i] -> GetY ()); [up] -> DetectType ( Diagonal); + +;  
  }  
   {[low] = new Point (Pixels [i] -> GetX (), Pixels [i] -> GetY ()); [low] -> DetectType ( Diagonal); + +;  
  }  
  }  
  // file proccessingfUp ("Up. txt"); (! fUp)  
   {<<"Can't create the file - Up. txt ";. get ();;  
  } (i = 0; i GetX () << ; ","  
   < GetY () <<")" < 
   {<<"Can't c...