Churs

Lista 5 - Swift

Jan 26th, 2022 (edited)
1,196
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  main.swift
  3. //  Lista5_HubertStachowiak
  4. //
  5. //  Created by Hubert Stachowiak on 24/01/2022.
  6. //
  7. import Foundation
  8.  
  9. // Zadanie 1
  10. /*
  11. var languages = ["Java", "Swift", "HTML", "C++", "jest", "Python", "Scala", "super", "JavaScript", ":)"]
  12.  
  13. print(languages[1])
  14. print(languages[4])
  15. print(languages[7])
  16. print(languages[9])
  17. */
  18. // Zadanie 2
  19. /*
  20. print("Podaj interesującą Cię liczbe:")
  21. var n = Int(readLine()!)
  22. var lista = [Int]()
  23. var lista_string = [String]()
  24.  
  25. var i = 1
  26.  
  27. for i in 1...n! {
  28.     _ = n! % i
  29.     if (n! % i == 0) {
  30.         lista.append(i)
  31.     }
  32.     else {
  33.         continue
  34.     }
  35.    
  36. }
  37. print(lista)
  38. print(lista.count)
  39. for number in lista {
  40.     var lista_string += lista_string[number] //
  41. }
  42. print(lista_string)
  43. */
  44. //let joined = array.joined(separator: "")
  45.  
  46. // Zadanie 3
  47. /*
  48. var wylosowane = [Int]()
  49. for _ in 1...6 {
  50.     let wylosowana_liczba = Int.random(in: 1..<100)
  51.     wylosowane.append(wylosowana_liczba)
  52. }
  53. print("Wygenerowana tablica: \(wylosowane)")
  54. wylosowane.shuffle()
  55. print("Pomieszana tablica: \(wylosowane)")
  56. wylosowane.sort()
  57. print("Posortowana tablica: \(wylosowane)")
  58. */
  59. // Zadanie 4
  60. /*
  61. print("Podawaj liczby, wpisanie 0 zastopuje wczytywanie :)")
  62. var podane_liczby = [Int]()
  63.  
  64. while true {
  65.     let x = Int(readLine()!)
  66.     if x == 0 {
  67.         break
  68.     }
  69.     else {
  70.         podane_liczby.append(x!)
  71.     }
  72. }
  73. print("Zadlekarowana tablica: \(podane_liczby)")
  74. podane_liczby.sort()
  75. var y = podane_liczby.count
  76. let najwieksza:Int = podane_liczby.max()!
  77. print("Największa wartość w tablicy to :\(najwieksza)")
  78.  
  79. var counts: [String:Int] = [:]
  80. var ilosc = 0
  81.  
  82. for liczby in podane_liczby {
  83.     if najwieksza == liczby {
  84.         ilosc = ilosc + 1
  85.     }
  86. }
  87. print("Największa ilość czyli \(najwieksza) wystąpiła: \(ilosc) raz/y.")
  88. */
  89. // Zadanie 5
  90. /*
  91. print("Ile kolejnych liczb ciągu Fibonacciego chcesz poznać ?")
  92. var x = Int(readLine()!)
  93. var liczby_ciagu = [Int]()
  94. var zmienna_1 = 1
  95. var zmienna_2 = 1
  96. liczby_ciagu.append(zmienna_1)
  97. liczby_ciagu.append(zmienna_2)
  98. liczby_ciagu.append(2)
  99. var n = 0
  100.  
  101. for _ in 0...x! {
  102.     zmienna_2 = liczby_ciagu[n+1] + liczby_ciagu[n+2]
  103.     n = n + 1
  104.     liczby_ciagu.append(zmienna_2)
  105. }
  106. print(liczby_ciagu)
  107. */
  108. // Zadanie 6
  109. /*
  110.  // Pierwszy pomysł
  111. print("Do jakiej liczby szukać?")
  112. var x = Int(readLine()!)
  113. var wszystkie_liczby = [Int]()
  114. var y = 2
  115. var z = 3
  116. var liczby = 3
  117.  
  118. for _ in 2...x! {
  119.     wszystkie_liczby.append(y)
  120.     y = y + 1
  121. }
  122. for liczby in wszystkie_liczby {
  123.     if liczby % 2 == 0 {
  124.         _ = wszystkie_liczby.remove(at: liczby)
  125.     }
  126.     else {
  127.         continue
  128.     }
  129. }
  130. print(wszystkie_liczby)
  131. */
  132. //Działająca wersja
  133. /*
  134. print("Do jakiego zakresu chcesz poznać liczby pierwsze ? ")
  135. var y = Int(readLine()!)
  136. func primes(_ n: Int) -> UnfoldSequence<Int, (Int?, Bool) >
  137. {
  138.     var sito = Array<Bool>(repeating:true, count: n + 1)
  139.     let lim = Int(sqrt(Double(n)))
  140.    
  141.     for i in 2...lim {
  142.         if sito [i] {
  143.             for notPrime in stride(from: i*i, through: n, by: i) {
  144.                 sito[notPrime] = false
  145.             }
  146.         }
  147.     }
  148.     return sequence(first: 2, next: { (p:Int) -> Int? in
  149.     var np = p + 1
  150.     while np <= n && !sito[np] { np += 1}
  151.     return np > n ? nil : np
  152.     })
  153. }
  154.  
  155. print("Liczby pierwsze do \(y!) to:")
  156. primes(y!).forEach{ print($0, "", terminator: "") }
  157. */
  158. //Bez bicia powiem że to kod z internetu - jeszcze nie ten etap :(
  159. //Po próbach jak powyżej kompletnie nie mam pojęcia jak to zrobić :/
  160. //Link : http://code.kopernik-leszno.pl/data/files/156/opracowanie-sito-erastotenesa.pdf
  161. // Zadanie 7
  162. /*
  163. var menu_restauracji = [
  164.     15.99 : "Schabowy",
  165.     16.99 : "Spagetti",
  166.     14.99 : "De volaille",
  167.     24.99 : "Pieczony łosoś",
  168.     50.99 : "Zestaw suschi dla 2 osób",
  169.     13.99 : "Zapiekanka serowa",
  170.     18.99 : "Łazanki",
  171.     5.99  : "Pepsi",
  172.     6.99  : "Coca-Cola",
  173.     7.99  : "Frytki"
  174.     ]
  175. print("Ceny:")
  176. for (ceny, _) in menu_restauracji {
  177.     print(ceny)
  178. }
  179. print("Nazwy:")
  180. for (_, nazwy) in menu_restauracji {
  181.     print(nazwy)
  182. }
  183. for (ceny, nazwy) in menu_restauracji {
  184.     print("Nazwa pozycji \(nazwy), cena pozycji \(ceny)")
  185. }
  186. var sortowanie_menu_restauracji = menu_restauracji.sorted( by: { $0.0 < $1.0 })
  187.  
  188. print(sortowanie_menu_restauracji)
  189. let usunieta_wartosc_najmniejsza = sortowanie_menu_restauracji.removeFirst()
  190. let usunieta_wartosc_najwieksza = sortowanie_menu_restauracji.removeLast()
  191. print(sortowanie_menu_restauracji)
  192. print("------------------------------------")
  193. print("Zaproponuj nowe danie oraz jego cenę")
  194. print("Nazwę Twojego dania:")
  195. var a = String(readLine()!)
  196. print("Podaj cene nowego dania:")
  197. var b = Double(readLine()!)
  198.  
  199.  
  200. func dodanie_wartosci(nowe_danie_cena:Double, nowe_danie_nazwa:String){
  201.     print("Zaproponuj nowe danie oraz jego cenę")
  202.    
  203.     sortowanie_menu_restauracji [nowe_danie_cena] = "\(nowe_danie_nazwa)" // NIE DZIAŁA!!!
  204.    
  205. }
  206. dodanie_wartosci(nowe_danie_cena: b!, nowe_danie_nazwa: a)
  207.  
  208. print("Zaproponuj nowe danie oraz jego cenę")
  209. print("Nazwę Twojego dania:")
  210. var nowe_danie_nazwa = String(readLine()!)
  211. print("Podaj cene nowego dania:")
  212. var nowe_danie_cena = Double(readLine()!)
  213.  
  214. sortowanie_menu_restauracji[nowe_danie_cena!] = "\(nowe_danie_nazwa)" // NIE DZIAŁA!!!
  215. */
  216. //Zadanie 8
  217. /*
  218. var lista_kontaktów = [
  219.     457843729 : "Ania",
  220.     211107584 : "Mateusz",
  221.     211350215 : "Zosia",
  222.     454923819 : "Marek",
  223.     503803447 : "Marcin",
  224.     456365170 : "Julia",
  225.     605933246 : "Ola",
  226.     211316850 : "Jan",
  227.     737554988 : "Maciej",
  228.     574318480 : "Kasia"
  229.     ]
  230.  
  231. lista_kontaktów.removeValue(forKey: 457843729) // Ania, usunąłem żeby "zamienić"
  232. lista_kontaktów.removeValue(forKey: 574318480) // Kasia, usunąłem żeby "zamienić"
  233.  
  234. lista_kontaktów[999999999] = "Ania"  // Wartości się nie zmieniają tylko dodają
  235. lista_kontaktów[111111111] = "Kasia" // Wartości się nie zmieniają tylko dodają
  236.  
  237. lista_kontaktów.removeValue(forKey: 503803447) // Marcin
  238. lista_kontaktów.removeValue(forKey: 456365170) // Julia
  239.  
  240. print(lista_kontaktów)
  241.  
  242. lista_kontaktów.removeAll()
  243.  
  244. lista_kontaktów[999999999] = "Werka"
  245. lista_kontaktów[111111111] = "Karola"
  246.  
  247. print(lista_kontaktów)
  248.  
  249. var sortowanie_lista_kontaktów = lista_kontaktów.sorted( by: { $0.0 < $1.0 })
  250. //                                          sorted( by: { $0.0 < $1.0 }) - sort po kluczach
  251. //                                          sorted( by: { $0.1 < $1.1 }) - sort po wartoś.
  252.  
  253. print(sortowanie_lista_kontaktów)
  254. */
  255. // Zadanie 9
  256. /*
  257. var sernikowy_spam = Set<String>()
  258. print("Kto chętny na spam ?")
  259. print("Podaj swój e-mail:")
  260. print("Jeśli chcesz przerwać dodawanie wpisz: koniec")
  261.  
  262.  
  263. while true {
  264.     let y = readLine()
  265.     if y == "koniec" {
  266.         break
  267.     }
  268.     else {
  269.         sernikowy_spam.insert(y!)
  270.         continue
  271.     }
  272. }
  273.  
  274. print("Oto sala chwały:")
  275. print(sernikowy_spam)
  276.  
  277. // https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application
  278. // Jedyny sposób jaki udało mi się znaleźć :D
  279. */
  280.  
RAW Paste Data Copied