May 15, 2024, Wednesday, 135

C/Kolokwium1 2017

From MJanik

Jump to: navigation, search

Proszę napisać program, który wczyta do tablicy typu double wyniki pomiaru czasu uzyskane przez zawodników PZU Maratonu Warszawskiego 2016 (w minutach).

  • Plik z wynikami: wyniki.txt (w pierwszej linijce pliku znajduje się ilość wyników)

Następnie, po utworzeniu tablicy i jej posortowaniu (patrz Uwaga 1), użytkownikowi ukazuje się menu użytkownika, w którym do wyboru powinny być następujące opcje (menu wyświetla się za każdym razem po zrealizowaniu danej opcji):

  • Wypisanie najlepszego czasu
  • Wypisanie najgorszego czasu
  • Wypisanie średniego czasu uzyskanego przez wszystkich zawodników
  • Wypisanie zadanej liczby najlepszych wynikow (wymagana posortowana tablica)
  • (Dodatkowo) Wypisanie zadanej liczby najgorszych wynikow (wymagana posortowana tablica)
  • Zakończenie programu

Program powinien działać w pętli do momentu podania przez użytkownika opcji kończącej program.

Uwaga 1! Aby zrealizować wypisanie najlepszych i najgorszych wyników, musimy po wczytaniu tablicę posortować. Należy zastosować poniższy przykład algorytmu, tzw. "sortowania przez wybór" (selection sort):

Lista kroków (przykład dla n-elementowej tablicy):
K01: Dla j = 1,2,...,n-1: wykonuj K02...K04
K02: pmin := j // ustaw wartość zmiennej pmin na j
K03: Dla i= j+1, j+2,..., n: jeśli tablica[i] < tablica[pmin], to pmin:= i
K04: Zamień tablica[j] z tablica[pmin]
K05: Zakończ


Uwagi o stylu: Pamiętamy o wcięciach, nawiasach, i generalnie o uporządkowanym kodzie. Kod powinien być tak napisany, by był zrozumiały dla osoby go czytającej.

Na koniec wysyłamy program na mój adres e-mail: majanik@if.pw.edu.pl