Untitled
Guest 89 23rd Nov, 2024
losowanie liczby
import Foundation
// Funkcja do generowania losowej liczby w podanym zakresie
func losujLiczbyIObliczSrednia() {
var liczby: [Int] = []
let zakres = 1...10
// Wylosowanie 10 liczb z zakresu
for _ in 1...10 {
let liczba = Int.random(in: zakres)
liczby.append(liczba)
}
// Obliczanie średniej
let suma = liczby.reduce(0, +) // Suma liczb
let srednia = Double(suma) / Double(liczby.count) // Średnia
print("Wylosowane liczby: \(liczby)")
print("Średnia: \(srednia)")
}
// Wywołanie funkcji
losujLiczbyIObliczSrednia()
*********
import Foundation
// Funkcja do sprawdzania poprawności danych (czy wszystkie elementy to liczby)
func sprawdzPoprawnosc(tablica: [Any]) -> Bool {
return tablica.allSatisfy { $0 is Int }
}
// Funkcja do sortowania tablicy
func posortuj(tablica: inout [Int]) {
tablica.sort()
}
// Funkcja do odwracania tablicy
func odwroc(tablica: inout [Int]) {
tablica.reverse()
}
// Funkcja do przesuwania elementów o 1 w prawo
func przesunWPrawo(tablica: inout [Int]) {
if let ostatni = tablica.popLast() {
tablica.insert(ostatni, at: 0)
}
}
// Główna funkcja
func wykonajOperacje() {
// Przykładowa tablica
var tablica: [Any] = [3, 1, 4, 2, 5]
// Sprawdzenie poprawności danych
if sprawdzPoprawnosc(tablica: tablica) {
var poprawnaTablica = tablica as! [Int] // Rzutowanie na [Int]
print("Tablica początkowa: \(poprawnaTablica)")
// Sortowanie
posortuj(tablica: &poprawnaTablica)
print("Po sortowaniu: \(poprawnaTablica)")
// Odwracanie
odwroc(tablica: &poprawnaTablica)
print("Po odwróceniu: \(poprawnaTablica)")
// Przesunięcie w prawo
przesunWPrawo(tablica: &poprawnaTablica)
print("Po przesunięciu o 1 w prawo: \(poprawnaTablica)")
} else {
print("Tablica zawiera niepoprawne dane.")
}
}
// Wywołanie funkcji
wykonajOperacje()
******
import Foundation
// Funkcja do wczytywania danych od użytkownika
func wczytajLiczby() -> [Int] {
print("Podaj liczby oddzielone spacjami:")
if let input = readLine() {
// Rozdziel tekst na liczby i przekształć na Int
let liczby = input
.split(separator: " ") // Rozdzielenie po spacjach
.compactMap { Int($0) } // Konwersja na Int
return liczby
}
return []
}
// Funkcja do sprawdzania poprawności danych (czy wszystkie elementy to liczby)
func sprawdzPoprawnosc(tablica: [Int]) -> Bool {
return tablica.allSatisfy { $0 is Int }
}
// Funkcja do sortowania tablicy
func posortuj(tablica: inout [Int]) {
tablica.sort()
}
// Funkcja do odwracania tablicy
func odwroc(tablica: inout [Int]) {
tablica.reverse()
}
// Funkcja do przesuwania elementów o 1 w prawo
func przesunWPrawo(tablica: inout [Int]) {
if let ostatni = tablica.popLast() {
tablica.insert(ostatni, at: 0)
}
}
// Główna funkcja
func wykonajOperacje() {
// Wczytaj dane od użytkownika
let tablica = wczytajLiczby()
// Sprawdzenie poprawności danych
if sprawdzPoprawnosc(tablica: tablica) {
var poprawnaTablica = tablica // Tworzenie kopii do edycji
print("Tablica początkowa: \(poprawnaTablica)")
// Sortowanie
posortuj(tablica: &poprawnaTablica)
print("Po sortowaniu: \(poprawnaTablica)")
// Odwracanie
odwroc(tablica: &poprawnaTablica)
print("Po odwróceniu: \(poprawnaTablica)")
// Przesunięcie w prawo
przesunWPrawo(tablica: &poprawnaTablica)
print("Po przesunięciu o 1 w prawo: \(poprawnaTablica)")
} else {
print("Podane dane są nieprawidłowe.")
}
}
// Wywołanie funkcji
wykonajOperacje()
*******
PESEL
import Foundation
func odczytajPesel(pesel: String) {
// Sprawdzenie, czy PESEL ma 11 cyfr
guard pesel.count == 11, let _ = Int(pesel) else {
print("Nieprawidłowy PESEL. Upewnij się, że ma 11 cyfr.")
return
}
// Wydobycie danych z PESEL
let rokFragment = Int(pesel.prefix(2)) ?? 0
let miesiacFragment = Int(pesel.dropFirst(2).prefix(2)) ?? 0
let dzien = Int(pesel.dropFirst(4).prefix(2)) ?? 0
let plecCyfra = Int(pesel.dropLast().suffix(1)) ?? 0
// Obliczenie roku i miesiąca
var rok = 1900 + rokFragment
var miesiac = miesiacFragment
if miesiac > 80 {
rok = 1800 + rokFragment
miesiac -= 80
} else if miesiac > 60 {
rok = 2200 + rokFragment
miesiac -= 60
} else if miesiac > 40 {
rok = 2100 + rokFragment
miesiac -= 40
} else if miesiac > 20 {
rok = 2000 + rokFragment
miesiac -= 20
}
// Odczyt płci
let plec = (plecCyfra % 2 == 0) ? "Kobieta" : "Mężczyzna"
// Walidacja daty
if miesiac >= 1 && miesiac <= 12 && dzien >= 1 && dzien <= 31 {
print("Data urodzenia: \(String(format: "%02d", dzien))-\(String(format: "%02d", miesiac))-\(rok)")
print("Płeć: \(plec)")
} else {
print("Nieprawidłowa data w numerze PESEL.")
}
}
// Przykładowe użycie
print("Podaj numer PESEL:")
if let pesel = readLine() {
odczytajPesel(pesel: pesel)
}
To share this paste please copy this url and send to your friends
RAW Paste Data