mikolajmki

swift_na4

Jan 21st, 2023 (edited)
1,533
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 2.00 KB | None | 0 0
  1. /**
  2.  
  3.                             Online Swift Compiler.
  4.                 Code, Compile, Run and Debug Swift script online.
  5. Write your code in this editor and press "Run" button to execute it.
  6.  
  7. */
  8.  
  9. import Foundation;
  10.  
  11. print("Hello World")
  12.  
  13. class Punkt {
  14.     var x: Int;
  15.     var y: Int;
  16.    
  17.     init(x: Int, y: Int) {
  18.         self.x = x;
  19.         self.y = y;
  20.     }
  21. }
  22.  
  23. class Dane2P {
  24.     var AB: [Punkt] = [];
  25.     init(x1: Int, y1: Int, x2: Int, y2: Int) {
  26.         self.AB.append(Punkt(x: x1, y: y1))
  27.         self.AB.append(Punkt(x: x2, y: y2))
  28.     }
  29.    
  30.     func printDane() {
  31.         for p in AB {
  32.             print(p.x, p.y)
  33.         }
  34.     }
  35.    
  36.     func dlugoscOdcinka(p1: Punkt, p2: Punkt) -> Double {
  37.        
  38.         return sqrt(pow(Double(p2.x - p1.x), 2) + pow(Double(p2.y - p1.y), 2) );
  39.     }
  40.    
  41.     func wspolrzedneWektora() -> [Int] {
  42.         let p1: Punkt = self.AB[0];
  43.         let p2: Punkt = self.AB[1];
  44.        
  45.         return [p2.x - p1.x, p2.y - p1.y];
  46.     }
  47.    
  48.     func czyTrojkat(p3: Punkt) -> Bool {
  49.         let p1: Punkt = self.AB[0];
  50.         let p2: Punkt = self.AB[1];
  51.        
  52.         let len1: Double = dlugoscOdcinka(p1: p1, p2: p2);
  53.         let len2: Double = dlugoscOdcinka(p1: p2, p2: p3);
  54.         let len3: Double = dlugoscOdcinka(p1: p1, p2: p3);
  55.        
  56.         print(len1, len2, len3)
  57.        
  58.         return !((len1 + len2 == len3) || (len1 + len3 == len2) || (len2 + len3 == len1))
  59.     }
  60. }
  61.  
  62. var d2p: [Dane2P] = [];
  63. for _ in 0...5 {
  64.     var randArr: [Int] = []
  65.     for _ in 0...3 {
  66.         let rand: Int = Int.random(in: -10...10);
  67.         randArr.append(rand)
  68.     }
  69.     d2p.append(Dane2P(x1: randArr[0], y1: randArr[1], x2: randArr[2], y2: randArr[3]))
  70. }
  71.  
  72. for odc in d2p {
  73.     odc.printDane();
  74.     print(odc.dlugoscOdcinka(p1: odc.AB[0], p2: odc.AB[1]));
  75.     print(odc.wspolrzedneWektora());
  76.     print(odc.czyTrojkat(p3: d2p[3].AB[0]))
  77. }
  78.    
  79. // d2p.printDane();
  80. // print(d2p.dlugoscOdcinka())
  81. // print(d2p.wspolrzedneWektora())
Advertisement
Add Comment
Please, Sign In to add comment