• Nie Znaleziono Wyników

Programowanie proceduralne Laboratorium 5-6

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne Laboratorium 5-6"

Copied!
2
0
0

Pełen tekst

(1)

Programowanie proceduralne

Laboratorium 5-6 – Algorytmy sortowania, pliki nagłówkowe.

1. Zaimplementuj funkcję znajdującą największy element w tablicy n-elementowej.

Funkcja powinna pobierać jako argumenty: tablicę liczb rzeczywistych oraz liczbę jej elementów. Funkcja powinna zwracać wartość elementu największego. Napisz program demonstrujący działanie tej funkcji.

2. Zaimplementuj funkcje:

 wyznaczającą indeks największego elementu w tablicy n-elementowej,

 znajdującą element najmniejszy w tablicy n-elementowej,

 wyznaczającą indeks najmniejszego elementu w tablicy n-elementowej.

Zademonstruj ich działanie w programie.

3. Zaimplementuj funkcję, która pobiera trzy argumenty: tablicę liczb rzeczywistych, liczbę elementów w tablicy, oraz zmienną całkowitą max_ind przekazywaną przez referencję. Funkcja powinna zwracać wartość elementu maksymalnego w tablicy, a wartość zmiennej powinna być ustawiona na indeks elementu maksymalnego. Napisz program demonstrujący działanie tej funkcji.

4. Rozważ zaimplementowane algorytmy wyznaczania indeksu elementu maksymalnego (minimalnego) dla tablic, w których jest więcej niż jeden element maksymalny (minimalny).

5. W ramach projektu Code∷Blocksa, przygotuj program demonstrujący działanie funkcji z zadania 1 i 2. Deklaracje funkcji powinny znaleźć się w pliku sort.h, natomiast definicje funkcji – każda w oddzielnym pliku źródłowym. Deklaracje funkcji z kolejnych zadań umieszczaj także w pliku nagłówkowym sort.h, a ich definicje w oddzielnych plikach.

6. Zaimplementuj funkcję swap, która we wskazanej tablicy liczb rzeczywistych zamienia miejscami dwa elementy (o podanych indeksach).

7. Przeanalizuj algorytm sortownia przez wybór. Zauważ, że dysponujesz funkcjami:

znajdującą element minimalny w tablicy i zamieniającą dwa elementy miejscami.

Zaimplementuj funkcję selectsort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania przez wybierania. Zademonstruj działanie funkcji w programie.

8. Przeanalizuj algorytm sortownia bąbelkowego. Zauważ, że dysponujesz funkcją zamieniającą dwa elementy tablicy miejscami. Zaimplementuj funkcję bubblesort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania bąbelkowego. Zademonstruj działanie funkcji w programie.

(2)

9. Przeanalizuj algorytm sortownia przez scalania. Zauważ, że przydatne będzie wydzielenie operacji scalania dwóch posortowanych fragmentów tablicy.

Zaimplementuj funkcję mergesort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania przez scalanie. Zwróć uwagę na konieczność alokacji dodatkowej pamięci. Zademonstruj działanie funkcji w programie.

10. Przeanalizuj algorytm sortownia szybkiego. Zauważ, że przydatne będzie wydzielenie operacji rozdzielania elementów dwa podzbiory. Zaimplementuj funkcję quicksort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania szybkiego. Zademonstruj działanie funkcji w programie.

Karol Tarnowski Wrocław, 2018

Cytaty

Powiązane dokumenty

Napisz program, który prosi użytkownika o podanie nazwy pliku zawierającego trzy liczby rzeczywiste, następnie odczytuje liczby ze wskazanego pliku i wyświetla ich

Sprawdzanie powinno odbywać się w następująco: program powinien losowo wybierać jedno słowo, i prosić użytkownika o podanie jego znaczenia, a następnie

Aby zademonstrować działanie tej funkcji, napisz program, który wywołuje przygotowaną funkcję dla testowych danych (dane mogą być zapisane w programie lub

Napisz program, który wczytuje dane z plików imiona_zenskie.txt oraz imiona_meskie.txt zawierające zestawienie 10 najczęściej nadawanych imion w Polsce w 2019.. Program

Napisz program, który pobiera od użytkownika nazwę pliku tekstowego i wyświetla informację ile ten plik zawiera: liter (w rozbiciu na małe i duże), cyfr, białych znaków

Napisz program, który prosi użytkownika o podanie dwóch liczb całkowitych, a następnie wypisuje na ekranie wyniki ich mnożenia, dzielenia, dzielenia modulo,

Napisz funkcję selectsort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania przez wybieranie.. Zademonstruj działanie funkcji

Zaimplementuj funkcje pozwalające na dodawanie elementów na początek listy, wyświetlanie listy, usuwanie elementów listy. (**) Zdefiniuj strukturę Node i typ Tree pozwalające