|
|
Line 3: |
Line 3: |
| <hr> | | <hr> |
| <!-- | | <!-- |
- | | + | Napisać program umożliwiający różnorakie działania na ciągu liczb: wyszukiwanie największej wartości, wyszukiwanie najmniejszej wartości oraz sortowanie. Wartości ciągu powinny być a) wczytywane z pliku, b) losowane. Ilość liczb w ciągu powinna być podawana na początku działania programu (liczba <b>N</b>). |
- | Napisać program umożliwiający różnorakie działania na ciągu liczb: wyszukiwanie najmniejszej i największej wartości, sortowanie. Wartości ciągu powinny być a) ustawiane z klawiatury, b) losowane. Ilość liczb w ciągu powinna być podawana na początku działania programu (liczba <b>N</b>). | + | |
- | | + | |
| | | |
| Kolejne działania powinny być wykonywane na żądanie użytkownika. Naciśnięcie "0" powinno umożliwić wyjście z programu. | | Kolejne działania powinny być wykonywane na żądanie użytkownika. Naciśnięcie "0" powinno umożliwić wyjście z programu. |
| | | |
| * Stworzyć alokowaną dynamicznie tablicę <i>tablica</i> (ilość elementów w tablicy powinna zostać pobrana z klawiatury). Tablica powinna zostać w całości zainicjowana wartością 0. | | * Stworzyć alokowaną dynamicznie tablicę <i>tablica</i> (ilość elementów w tablicy powinna zostać pobrana z klawiatury). Tablica powinna zostać w całości zainicjowana wartością 0. |
- | * Pętla while, w której pobierany jest pojedynczy znak z klawiatury. Naciśnięcie "0" powinno umożliwić wyjście z programu. | + | * Pętla while, w której pobierany jest pojedynczy znak z klawiatury oraz pętla switch-case pobierająca numer instrukcji. Naciśnięcie "0" powinno umożliwić wyjście z programu. Naciśnęcie dowolnego klawisza wyświetla instrukcję. |
| * Funkcja <b>void print()</b> wypisująca instrukcję użytkowania programu na ekran. | | * Funkcja <b>void print()</b> wypisująca instrukcję użytkowania programu na ekran. |
- | * Pętla switch-case pobierająca numer instrukcji. | + | * Naciśnięcie 1 - funkcja wypisująca tablicę <b>void wypisz(const int* tab, int n)</b>. |
- | * Funkcja wypisująca tablicę <b>void wypisz(const int* tab, int n)</b>.
| + | <!-- * Naciśnięcie 2 - funkcja wpisująca dane z pliku do tablicy <b>void wpisz(int* tab, int n, const char* nazwa_pliku)</b>. --> |
- | * Funkcja wpisująca dane z klawiatury do tablicy <b>void wpisz(int* tab, int n)</b>. | + | <!-- |
- | * Funkcja znajdująca największy element w ciągu i zwracająca ją <b>void max(const int* tab, int n)</b>. Liczba powinna zostać wypisana na ekran we wnętrzu funkcji. | + | * Naciśnięcie 2 - funkcja wpisująca dane z klawiatury do tablicy <b>void wpisz(int* tab, int n)</b>. |
- | * Funkcja znajdująca najmniejszy element w ciągu i zwracająca ją <b>int min(const int* tab, int n)</b>. Liczba powinna zostać wypisana w funkcji głównej main. | + | * Naciśnięcie 3 - funkcja znajdująca największy element w ciągu i zwracająca ją <b>void max(const int* tab, int n)</b>. Liczba powinna zostać wypisana na ekran we wnętrzu funkcji. |
| + | * Naciśnięcie 4 - funkcja znajdująca najmniejszy element w ciągu i zwracająca ją <b>int min(const int* tab, int n)</b>. Liczba powinna zostać wypisana w funkcji głównej main. |
| <hr> | | <hr> |
| Powyższa część: 5 pkt. | | Powyższa część: 5 pkt. |
| <hr> | | <hr> |
- | * Funkcja wypełniająca tablicę losowymi liczbami. (1 pkt) | + | * Naciśnięcie 5 - funkcja wypełniająca tablicę losowymi liczbami z zakresu 1-50 <b>void losuj(int* tab, int n)</b> (1 pkt) |
| Należy dołączyć biblioteki: | | Należy dołączyć biblioteki: |
| #include <stdlib.h> | | #include <stdlib.h> |
| #include <time.h> | | #include <time.h> |
| | | |
- | W funkcji głównej main na początku należy dopisać: | + | W funkcji głównej <b>main</b> na początku należy dopisać: |
| srand(time(NULL)); //ustawienie ziarna z zegara systemowego by uzyskać losowość ("wartości początkowej" dla generatora liczb losowych) | | srand(time(NULL)); //ustawienie ziarna z zegara systemowego by uzyskać losowość ("wartości początkowej" dla generatora liczb losowych) |
| | | |
Line 39: |
Line 38: |
| | | |
| <b>Dodatkowe:</b> | | <b>Dodatkowe:</b> |
- | * Funkcja sortująca tablicę. Należy użyć sortowania przez wstawianie. (dodatkowe 0.5 pkt) | + | * Naciśnięcie 6 - unkcja sortująca tablicę <b>void sort(int *tab, int n)</b>. Należy użyć sortowania przez wstawianie. (dodatkowe 0.5 pkt) |
| | | |
| Sortowanie przez wstawianie (ang. <i>Insert Sort, Insertion Sort</i>) - jeden z najprostszych algorytmów sortowania, którego zasada działania odzwierciedla sposób w jaki ludzie ustawiają karty - kolejne elementy wejściowe są ustawiane na odpowiednie miejsca docelowe. | | Sortowanie przez wstawianie (ang. <i>Insert Sort, Insertion Sort</i>) - jeden z najprostszych algorytmów sortowania, którego zasada działania odzwierciedla sposób w jaki ludzie ustawiają karty - kolejne elementy wejściowe są ustawiane na odpowiednie miejsca docelowe. |
Line 60: |
Line 59: |
| A[j] = x[3] | | A[j] = x[3] |
| end for | | end for |
| + | |
| | | |
| | | |
| | | |
| --> | | --> |