Advertisement
mikolajmki

swift_lab06

Nov 14th, 2022 (edited)
503
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 5.34 KB | None | 0 0
  1. //
  2. //  main.swift
  3. //  tablice123
  4. //
  5. //  Created by student on 14/11/2022.
  6. //
  7.  
  8. import Foundation
  9.  
  10. print("Hello, World!")
  11.  
  12. func fix() {
  13.     var tab: [Int] = Array(repeating: 1, count: 12)
  14.     for i in tab {
  15.     print(i)
  16.     }
  17. }
  18.  
  19. func generateArray10() {
  20.     var arr: [Int] = Array(repeating: -1, count: 10);
  21.     for i in arr {
  22. //        print(i);
  23.         if let i = arr.firstIndex(of: -1) {
  24.             arr[i] = Int.random(in: 1...100);
  25.         }
  26.     }
  27.     for i in arr {
  28.         print(i);
  29.     }
  30.     print("Podaj liczbe: ");
  31.     guard let num: Int = Int(readLine()!) else {
  32.         fatalError("Not a number!")
  33.     }
  34.     arr.insert(num, at: Int.random(in: 0...9));
  35.     for i in arr {
  36.         print(i);
  37.     }
  38. }
  39.  
  40. func isClosing() {
  41.     print("Podaj dlugosc tablicy: ");
  42.     guard let arrLen: Int = Int(readLine()!) else {
  43.         fatalError("Not a number!");
  44.     }
  45.     if (arrLen < 0) {
  46.         fatalError("Nieprawidlowa dlugosc!");
  47.     }
  48.     var arr: [Int] = Array(repeating: 1, count: arrLen);
  49.     for i in arr {
  50.         print("Podaj element: ")
  51.         if var elem = Int(readLine()!) {
  52.             if let i = arr.firstIndex(of: 1) {
  53.                 arr[i] = elem;
  54.             }
  55.         }
  56.     }
  57.     for i in arr {
  58.         print(i);
  59.     }
  60.     print("Podaj liczbe do sprawdzenia: ");
  61.     if let num: Int = Int(readLine()!) {
  62.         (arr[0] == num) ? print("Liczba jest pierwszym elementem tablicy") : print("Liczba nie jest pierwszym elementem tablicy");
  63.         (arr[arr.count - 1] == num) ? print("Liczba jest ostatnim elementem tablicy") : print("Liczba nie jest ostatnim elementem tablicy");
  64.     }
  65. }
  66.  
  67. func generateTwo() {
  68.     var containCount: Int = 0;
  69.     print("Podaj dlugosc tablicy: ");
  70.     guard let arrLen: Int = Int(readLine()!) else {
  71.         fatalError("Not a number!");
  72.     }
  73.     if (arrLen < 0) {
  74.         fatalError("Nieprawidlowa dlugosc!");
  75.     }
  76.     var arr1: [Int] = Array(repeating: 1, count: arrLen);
  77.     var arr2: [Int] = Array(repeating: 1, count: arrLen);
  78.     for i in arr1 {
  79.         if let i = arr1.firstIndex(of: 1) {
  80.             arr1[i] = Int.random(in: 1...20);
  81.         }
  82.         if let i = arr2.firstIndex(of: 1) {
  83.             arr2[i] = Int.random(in: 1...20);
  84.         }
  85.     }
  86.     for i in arr1 {
  87.         if (arr2.contains(i)) {
  88.             containCount += 1;
  89.         }
  90.     }
  91.     for i in arr1 {
  92.         print(i);
  93.     }
  94.     for i in arr2 {
  95.         print(i);
  96.     }
  97.     print("Tablice zawieraja \(containCount) tych samych elementow;");
  98. }
  99.  
  100. func matrix() {
  101.     let mac: [[Int]] = [[10, 20, 30], [40, 50, 60]]
  102.     for i in 0 ..< mac.count {
  103.         for j in 0 ..< mac[i].count{
  104.         print("\(mac[i][j])", terminator:" ")
  105.         }
  106.         print()
  107.     }
  108. }
  109.  
  110. func genereateMatrix() {
  111.     print("Podaj ilosc kolumn: ");
  112.     guard let arrCols: Int = Int(readLine()!) else {
  113.         fatalError("Not a number!");
  114.     }
  115.     if (arrCols < 0) {
  116.         fatalError("Nieprawidlowa dlugosc!");
  117.     }
  118.     print("Podaj ilosc wierszy tablicy: ");
  119.     guard let arrRows: Int = Int(readLine()!) else {
  120.         fatalError("Not a number!");
  121.     }
  122.     if (arrRows < 0) {
  123.         fatalError("Nieprawidlowa dlugosc!");
  124.     }
  125.     var mat: [[Float]] = Array(repeating: Array(repeating: 1, count: arrCols), count: arrRows);
  126.     for j in 0...arrRows - 1 {
  127.         for i in 0...arrCols - 1 {
  128.             mat[j][i] = Float.random(in: -100...100);
  129.         }
  130.     }
  131.     for j in 0...arrRows - 1 {
  132.         for i in 0...arrCols - 1 {
  133.             print("\(mat[j][i])", terminator:" ")
  134.         }
  135.         print();
  136.     }
  137.     var min: Float = mat[0][0];
  138.     var max: Float = min;
  139.     for j in 0...arrRows - 1 {
  140.         for i in 0...arrCols - 1 {
  141.             if (mat[j][i] > max) {
  142.                 max = mat[j][i];
  143.             }
  144.             if (mat[j][i] < min) {
  145.                 min = mat[j][i];
  146.             }
  147.         }
  148.     }
  149.     print()
  150.     print(min, " ", max);
  151. }
  152.  
  153. func sequence() {
  154.     print("Podaj dlugosc tablicy: ");
  155.     guard let arrLen: Int = Int(readLine()!) else {
  156.         fatalError("Not a number!");
  157.     }
  158.     if (arrLen < 0) {
  159.         fatalError("Nieprawidlowa dlugosc!");
  160.     }
  161.     var arr: [Int] = Array(repeating: -1, count: arrLen);
  162.     for i in arr {
  163.         print("Podaj element: ")
  164.         if var elem = Int(readLine()!) {
  165.             if let i = arr.firstIndex(of: -1) {
  166.                 arr[i] = elem;
  167.             }
  168.         }
  169.     }
  170.    
  171.     var seqStartIndex: Int = 0;
  172.     var seqLength: Int = 1;
  173.     var seqMaxLength: Int = 0;
  174.     var seqMaxIndex: Int = 0;
  175.  
  176.     for i in 1...arrLen - 1 {
  177.         if (arr[i - 1] < arr[i]) {
  178.             if (seqLength == 1) { seqStartIndex = i - 1};
  179.             seqLength += 1;
  180.         } else {
  181.             if (seqLength > seqMaxLength) {
  182.                 seqMaxLength = seqLength;
  183.                 seqMaxIndex = seqStartIndex;
  184.             }
  185.             seqLength = 1;
  186.         }
  187.     }
  188.     if (seqLength > seqMaxLength) {
  189.         seqMaxLength = seqLength;
  190.         seqMaxIndex = seqStartIndex;
  191.     }
  192.    
  193.    
  194.     print("Najdluzszy podciag: ");
  195.     print("seqStartIndex = ", seqMaxIndex);
  196.     print("seqMaxLength = ", seqMaxLength);
  197.     for i in seqMaxIndex...(seqMaxIndex + seqMaxLength - 1) {
  198.         print(" \(arr[i]) ");
  199.     }
  200. }
  201.  
  202. //fix()
  203. //generateArray10()
  204. //isClosing()
  205. //generateTwo();
  206. //matrix();
  207. //genereateMatrix();
  208.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement