From 01c87caf965a4a0e8ccab5ff47a7579753702a2e Mon Sep 17 00:00:00 2001 From: Szymon P Date: Fri, 12 Dec 2025 22:05:33 +0100 Subject: [PATCH] jakies zadania z programoawnia --- .../laby/funkcje/liczby_pierwsze.cpp | 51 +++++++++++++++++++ .../laby/funkcje/odwrocenie_zdania.cpp | 34 +++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 uczelnia/1_semestr/programowanie/laby/funkcje/liczby_pierwsze.cpp create mode 100644 uczelnia/1_semestr/programowanie/laby/funkcje/odwrocenie_zdania.cpp diff --git a/uczelnia/1_semestr/programowanie/laby/funkcje/liczby_pierwsze.cpp b/uczelnia/1_semestr/programowanie/laby/funkcje/liczby_pierwsze.cpp new file mode 100644 index 0000000..dedf807 --- /dev/null +++ b/uczelnia/1_semestr/programowanie/laby/funkcje/liczby_pierwsze.cpp @@ -0,0 +1,51 @@ +// Napisz program, który przyjmuje od użytkownika dwie liczby całkowite +// określające zakres, a następnie znajduje i wyświetla wszystkie liczby +// pierwsze w tym zakresie. Do sprawdzania, czy liczba jest pierwsza, użyj +// osobnej funkcji. Do znajdywania tych liczb drugiej funkcji. W main() ma być +// jedynie wczytanie i wyświetlenie danych +#include + +using namespace std; + +bool is_prime(int number) { + switch (number) { + case 1: + return false; + case 2: + return true; + default: { + if (number % 2 == 0) { + return false; + } + for (int i = 3; i * i <= number; i += 2) { + if (number % i == 0) { + return false; + } + } + } + } + return true; +} + +void find_primes(int begin, int end) { + if (begin > end) { + cout << "Poczatek zakresu nie moze byc mniejszy niz jego koniec! Co ty " + "sobie myslisz?"; + exit(1); + } + for (int i = begin; i < end; i++) { + if (is_prime(i)) { + cout << "Liczba " << i << " jest liczba pierwsza!" << endl; + } + } +} + +int main() { + int begin, end; + cout << "Podaj poczatek zakresu i koniec zakresu: "; + cin >> begin; + cin >> end; + find_primes(begin, end); + + return 0; +} diff --git a/uczelnia/1_semestr/programowanie/laby/funkcje/odwrocenie_zdania.cpp b/uczelnia/1_semestr/programowanie/laby/funkcje/odwrocenie_zdania.cpp new file mode 100644 index 0000000..90b99b3 --- /dev/null +++ b/uczelnia/1_semestr/programowanie/laby/funkcje/odwrocenie_zdania.cpp @@ -0,0 +1,34 @@ +// Napisz program, który poprosi użytkownika o podanie zdania. Program powinien +// odwrócić kolejność słów, ale same słowa pozostaną niezmienione. Uwzględnij że +// w +// zdaniu mogą wystąpić spacje na początku, na końcu a także po kilka spacji +// pomiędzy wyrazami. + +#include +#include + +using namespace std; + +string reverse_sentence(string sentence) { + size_t space_pos = 0; + string reversed_sentence = ""; + + while ((space_pos = sentence.find_last_of(" ")) != string::npos) { + if (space_pos == sentence.length() - 1) { + sentence.erase(sentence.length() - 1, 1); + continue; + } + reversed_sentence += sentence.substr(space_pos + 1) + " "; + sentence.erase(space_pos); + } + + return reversed_sentence + sentence; +} + +int main() { + cout << "Podaj swoje zdanie:" << endl; + string sentence, reversed_sentence; + getline(cin, sentence); + reversed_sentence = reverse_sentence(sentence); + cout << "Twoje odwrocone zdanie: " << endl << reversed_sentence; +}