Advertisement
mikolajmki

swift_lab10

Dec 12th, 2022 (edited)
748
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 6.53 KB | None | 0 0
  1. //
  2. //  main.swift
  3. //  lab10
  4. //
  5. //  Created by student on 12/12/2022.
  6. //
  7.  
  8. import Foundation
  9.  
  10. print("Hello, World!")
  11.  
  12. //func prostokat() {
  13. //    var p = Prostokat(a: 10, b: 20);
  14. //    print(p.pole());
  15. //    print(p.obwod())
  16. //    print(p.toString());
  17. //}
  18.  
  19. //prostokat();
  20.  
  21. func threeRandom() -> [Int] {
  22.     var a: Int = Int.random(in: 1...250);
  23.     var b: Int = Int.random(in: 1...250);
  24.     var c: Int = Int.random(in: 1...250);
  25.    
  26.     var zbior: [Int] = [a, b, c];
  27.  
  28.     return zbior;
  29. }
  30.  
  31. func threeMax() -> Float {
  32.    
  33.     var zbior: [Float] = [];
  34.    
  35.     print("Podaj liczby:")
  36.     for _ in 0...2 {
  37.         if let a: Float = Float(readLine()!) {
  38.             zbior.append(a);
  39.         }
  40.     }
  41.     zbior.sort(by: { $0 > $1 });
  42.     return zbior[zbior.startIndex];
  43. }
  44.  
  45. func threeMin() -> Float {
  46.    
  47.     var zbior: [Float] = [];
  48.    
  49.     print("Podaj liczby:")
  50.     for _ in 0...2 {
  51.         if let a: Float = Float(readLine()!) {
  52.             zbior.append(a);
  53.         }
  54.     }
  55.     zbior.sort(by: { $0 < $1 });
  56.     return zbior[zbior.startIndex];
  57. }
  58.  
  59. func threeMinMax() -> [Float] {
  60.    
  61.     var zbior: [Float] = [];
  62.     var wynik: [Float] = [];
  63.     print("Podaj liczby:")
  64.     for _ in 0...2 {
  65.         if let a: Float = Float(readLine()!) {
  66.             zbior.append(a);
  67.         }
  68.     }
  69.     zbior.sort(by: { $0 > $1 });
  70.     wynik.append(zbior[zbior.endIndex - 1]);
  71.     wynik.append(zbior[zbior.startIndex]);
  72.     return wynik;
  73. }
  74.  
  75. func dodaj(a: Float, b: Float) -> Float {
  76.     return a + b;
  77. }
  78.  
  79. func odejmij(a: Float, b: Float) -> Float {
  80.     return a - b;
  81. }
  82.  
  83. func pomnoz(a: Float, b: Float) -> Float {
  84.     return a * b;
  85. }
  86.  
  87. func podziel(a: Float, b: Float) -> Float {
  88.     if (b != 0) {
  89.         return a / b;
  90.     } else {
  91.         fatalError("Nie dziel przez 0.");
  92.     }
  93. }
  94.  
  95. func pierwastek(a: Float) -> Float {
  96.     return sqrt(a);
  97. }
  98.  
  99. func calculator() {
  100.     var wynik : Float = 0;
  101.     while (true) {
  102.         print("Wybierz dzialanie: ");
  103.         print("1 – dodanie 2 – odejmowanie 3 – mnożenie 4 – dzielenie 5 - pierwiastkowanie 0 - wyjscie");
  104.         guard let c: Int = Int(readLine()!) else {
  105.             fatalError("Nie liczba.");
  106.         }
  107.         if (c == 0) { break; }
  108.         print("Podaj pierwsza liczbe:")
  109.         guard let a: Float = Float(readLine()!) else {
  110.             fatalError("Nie liczba.");
  111.         }
  112.         print("Podaj druga liczbe: ")
  113.         guard let b: Float = Float(readLine()!) else {
  114.             fatalError("Nie liczba.");
  115.         }
  116.         switch (c) {
  117.         case 1:
  118.             wynik = dodaj(a: a, b: b);
  119.         case 2:
  120.             wynik = odejmij(a: a, b: b);
  121.         case 3:
  122.             wynik = pomnoz(a: a, b: b);
  123.         case 4:
  124.             wynik = podziel(a: a, b: b);
  125.         case 5:
  126.             wynik = pierwastek(a: a);
  127.         default:
  128.             wynik = 0;
  129.         }
  130.         print(wynik);
  131.     }
  132. }
  133.  
  134. func wczytajWspolrzedne() -> [Float] {
  135.     print("Podaj pierwsza wspolrzedna: ")
  136.     guard let a: Float = Float(readLine()!) else {
  137.         fatalError("Nie liczba.");
  138.     }
  139.     print("Podaj druga wspolrzedna: ")
  140.     guard let b: Float = Float(readLine()!) else {
  141.         fatalError("Nie liczba.");
  142.     }
  143.     return [a, b];
  144. }
  145.  
  146. func obliczOdleglosc(a: [Float], b: [Float]) -> Float {
  147.     let odleglosc: Float = sqrt(pow(b[0] - a[0], 2) + pow(b[1] - a[1], 2));
  148.     return odleglosc;
  149. }
  150.  
  151. func ktoraCwiartka(a: [Float]) -> Int {
  152.     if (a[0] > 0 && a[1] > 0) {
  153.         return 1;
  154.     }
  155.     else if (a[0] < 0 && a[1] > 0) {
  156.         return 2;
  157.     }
  158.     else if (a[0] < 0 && a[1] < 0) {
  159.         return 3;
  160.     }
  161.     else {
  162.         return 4;
  163.     }
  164. }
  165.  
  166. func czyKwadrat(p: [Float]) {
  167.     print("Podaj pierwsza wspolrzedna: ")
  168.     guard let x: Float = Float(readLine()!) else {
  169.         fatalError("Nie liczba.");
  170.     }
  171.     print("Podaj druga wspolrzedna: ")
  172.     guard let y: Float = Float(readLine()!) else {
  173.         fatalError("Nie liczba.");
  174.     }
  175.     if (abs(p[0]) > abs(x) && abs(p[1]) > abs(y)) {
  176.         print("Lezy w srodku kwadratu.");
  177.     } else if (abs(p[0]) == abs(x) && abs(p[1]) == abs(y)) {
  178.         print("Lezy na obwodzie.");
  179.     } else {
  180.         print("Leczy poza nim.")
  181.     }
  182. }
  183.  
  184. func ukladWspolrzednych() {
  185.     let p1: [Float] = wczytajWspolrzedne();
  186.     let p2: [Float] = wczytajWspolrzedne();
  187.     print(obliczOdleglosc(a: p1, b: p2));
  188.     print(ktoraCwiartka(a: p1));
  189.     czyKwadrat(p: p1);
  190. }
  191.  
  192. func analizaTablicy() {
  193.     print("Podaj liczbe elementow tablicy: ");
  194.     guard let arrLen: Int = Int(readLine()!) else {
  195.         fatalError("Nie liczba.");
  196.     }
  197.     var arr: [Int] = [];
  198.     var mean: Float = 0;
  199.     print("Podaj elementy tablicy:");
  200.     for _ in 0...arrLen - 1 {
  201.         if let n: Int = Int(readLine()!) {
  202.             arr.append(n);
  203.             mean += Float(n);
  204.         }
  205.     }
  206.     mean /= Float(arrLen);
  207.     arr.sort(by: {$0 < $1});
  208.     print("Najmniejszy element: \(String(arr.first!))");
  209.     print("Najwiekszy element: \(String(arr.last!))");
  210.     print("Srednia arytmetyczna \(mean)");
  211. }
  212.  
  213. func utworzTablice(arrLen: Int) -> [Int] {
  214.     var arr: [Int] = [];
  215.     print("Podaj elementy tablicy:");
  216.     for _ in 0...arrLen - 1 {
  217.         if let n: Int = Int(readLine()!) {
  218.             arr.append(n);
  219.         }
  220.     }
  221.     return arr;
  222. }
  223.  
  224. func wyswietlTablice(arrLen: Int, arr: [Int]) {
  225.     for i in 0...arrLen - 1 {
  226.         print(arr[i])
  227.     }
  228. }
  229.  
  230. func minTablica(arr1: [Int], arrLen: Int) -> [Int] {
  231.     var arr: [Int] = arr1;
  232.     arr.sort(by: {$0 < $1});
  233.     for i in 0...arrLen - 1 {
  234.         if (arr1[i] == arr.first) {
  235.             arr[1] = i;
  236.         }
  237.     }
  238.     return [arr[0], arr[1]];
  239. }
  240.  
  241. func maxTablica(arr1: [Int], arrLen: Int) -> [Int] {
  242.     var arr: [Int] = arr1;
  243.     arr.sort(by: {$0 > $1});
  244.     for i in 0...arrLen - 1 {
  245.         if (arr1[i] == arr.first) {
  246.             arr[1] = i;
  247.         }
  248.     }
  249.     return [arr[0], arr[1]];
  250. }
  251.  
  252. func zamiana(arr1: [Int], arrLen: Int) -> [Int] {
  253.     var arr: [Int] = arr1;
  254.     var arr2: [Int] = arr1;
  255.     arr.sort(by: {$0 < $1});
  256.     for i in 0...arrLen - 1 {
  257.         if (arr2[i] == arr.first) {
  258.             arr2[i] = arr.last!;
  259.         }
  260.         else if (arr2[i] == arr.last) {
  261.             arr2[i] = arr.first!;
  262.         }
  263.     }
  264.     return arr2;
  265. }
  266.  
  267. func sredniaArytmetyczna(arr1: [Int], arrLen: Int) -> Float {
  268.     var mean: Float = 0;
  269.    
  270.     for i in arr1 {
  271.         mean += Float(i);
  272.     }
  273.    
  274.     mean /= Float(arrLen);
  275.    
  276.     return mean;
  277. }
  278.  
  279. print(sredniaArytmetyczna(arr1: [2, 2, 3, 3], arrLen: 4));
  280.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement