May 1, 2025, Thursday, 120

C/Zad5 2016

From MJanik

(Difference between revisions)
Jump to: navigation, search
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
 +
-->
-->

Revision as of 15:46, 12 April 2016

Na laboratoriach pojawią się funkcje (wykład 6). Powrócimy również do pracy na tablicach (wykład 5) oraz struktury switch-case (wykład 3, slajd 11).