May 1, 2025, Thursday, 120

C/Kolokwium1 2017

From MJanik

(Difference between revisions)
Jump to: navigation, search
 
(4 intermediate revisions not shown)
Line 1: Line 1:
-
<!--
 
Proszę napisać program, który wczyta do tablicy typu <code>double</code> wyniki pomiaru czasu uzyskane przez zawodników PZU Maratonu Warszawskiego 2016 (w minutach).  
Proszę napisać program, który wczyta do tablicy typu <code>double</code> wyniki pomiaru czasu uzyskane przez zawodników PZU Maratonu Warszawskiego 2016 (w minutach).  
* Plik z wynikami: [http://www.if.pw.edu.pl/~majanik/files/PP/wyniki.txt wyniki.txt] (w pierwszej linijce pliku znajduje się ilość wyników)
* Plik z wynikami: [http://www.if.pw.edu.pl/~majanik/files/PP/wyniki.txt wyniki.txt] (w pierwszej linijce pliku znajduje się ilość wyników)
Line 11: Line 10:
Program powinien działać w pętli do momentu podania przez użytkownika opcji kończącej program.<br>
Program powinien działać w pętli do momentu podania przez użytkownika opcji kończącej program.<br>
<br>
<br>
-
'''Uwaga 1!''' Aby zrealizować wypisanie najlepszych i najgorszych wyników, musimy po wczytaniu tablicę '''posortować'''. Jak posortować tablicę? Pokazuje to poniższy przykład algorytmu, tzw. "sortowania przez wybór" (selection sort):
+
'''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):<br>
Lista kroków (przykład dla n-elementowej tablicy):<br>
Line 17: Line 16:
'''K02:''' <code>pmin := j</code> // ustaw wartość zmiennej <code>pmin</code> na <code>j</code><br>
'''K02:''' <code>pmin := j</code> // ustaw wartość zmiennej <code>pmin</code> na <code>j</code><br>
'''K03:''' '''Dla''' <code>i= j+1,  j+2,..., n</code>: '''jeśli''' <code>tablica[i] < tablica[pmin]</code>, '''to''' <code> pmin:= i</code><br>
'''K03:''' '''Dla''' <code>i= j+1,  j+2,..., n</code>: '''jeśli''' <code>tablica[i] < tablica[pmin]</code>, '''to''' <code> pmin:= i</code><br>
-
'''K04:'''    Zamień <code>tablica[i]</code> z <code>tablica[pmin]</code><br>
+
'''K04:'''    Zamień <code>tablica[j]</code> z <code>tablica[pmin]</code><br>
'''K05:''' Zakończ
'''K05:''' Zakończ
Line 24: Line 23:
<br>
<br>
Na koniec wysyłamy program na mój adres e-mail: [mailto:majanik@if.pw.edu.pl majanik@if.pw.edu.pl]
Na koniec wysyłamy program na mój adres e-mail: [mailto:majanik@if.pw.edu.pl majanik@if.pw.edu.pl]
-
 
-
-->
 

Latest revision as of 08:06, 10 April 2018

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