Funkcje i tablice jednowymiarowe

  1. Proszę napisać funkcje otrzymujące jako parametr tablicę liczb rzeczywistych:

    double suma( double [] tab ) { ... }
    double srednia( double [] tab ) { ... }
    double minimum( double [] tab ) { ... }
    double maksimum( double [] tab ) { ... }
    double maksimumUjemnych( double [] tab ) { ... }
    double minimumDodatnich( double [] tab ) { ... }
    int ilePowyzejSredniej( double [] tab ) { ... }
    int najbardziejOdchylonyOdSredniej( double [] tab ) { … }

    Zadaniem funkcji jest wyznaczenie dla elementów tablicy przekazanej parametrem tab odpowiednio:

    • wartości średniej,
    • sumy,
    • wartości minimalnej,
    • wartości maksymalnej,
    • wartości maksymalnej wśród ujemnych,
    • wartości minimalnej wśród elementów dodatnich,
    • liczby elementów o wartościach większych od średniej.
    • indeksu elementu o wartości najbardziej różniącej się od średniej.

    Wyznaczone wartości mają być rezultatem każdej z funkcji.

  2. Proszę napisać funkcję: int podwyzkaWynagrodzeniaProc( double [] wynagrodzenia, int procentPodwyzki ) { … }, która otrzymuje dwa parametry:

    1. tablicę liczb rzeczywistych wynagrodzenia, każdy element tej tablicy to wynagrodzenie pracownika pewnej firmy,
    2. liczbę całkowitą procentPodwyzki, która zawiera wartość procentową, o jaką należy podnieść każde wynagrodzenie w tablicy wynagrodzenia.

    Zadaniem funkcji jest podniesienie wartości każdego wynagrodzenia zapisanego w tablicy wynagrodzenia o wartość określoną procentowo przez parametr procentPodwyzki – jeżeli wynagrodzenie wynosi 2000 a procent podwyżki 10, to wynagrodzenie po podwyżce powinno wynosić 2200. Rezultatem funkcji ma być wartość najwyższego wynagrodzenia po podwyżce.

  3. Proszę napisać funkcję: double podwyzkaWynagrodzeniaSred( double [] wynagrodzenia ) { … } która otrzymuje jako parametr tablicę liczb rzeczywistych wynagrodzenia, każdy element tej tablicy to wynagrodzenie pracownika pewnej firmy. Zadaniem funkcji jest podniesienie wartości każdego wynagrodzenia zapisanego w tablicy wynagrodzenia o 10% średniego wynagrodzenia – średnia obliczana jest ze wszystkich elementów tablicy wynagrodzenia, rozpatrywanych przed naliczeniem jakiejkolwiek podwyżki. Rezultatem funkcji ma być wartość najwyższego wynagrodzenia po podwyżce.
  4. Pewna firma chce obniżyć ceny swoich towarów. Cena każdego towaru ma być zmniejszona o pewną, określoną procentowo wartość ceny wyjściowej (np. przecena o 10% ceny wyjściowej). Następnie najdroższe towary są ponownie przeceniane o pewną, drugą wartość określoną procentowo. Najdroższe towary, to takie, których cena jest większa lub równa 80% maksymalnej ceny po pierwszej przecenie. Proszę napisać funkcję: int przecena( double [] ceny, int przecena1, int przecena2 ) { ... } która zrealizuje taką strategię przecen dla cen zapisanych w tablicy ceny przekazanej pierwszym parametrem funkcji. Funkcja otrzymuje następujące parametry:

    • tablicę liczb rzeczywistych ceny, każdy element tej tablicy to cena pewnego produktu,
    • liczbę całkowitą przecena1, która zawiera wartość procentową, o jaką należy obniżyć cenę każdego produktu (pierwsza przecena).
    • liczbę całkowitą przecena2, która zawiera wartość procentową, o jaką należy obniżyć najdroższych produktów (druga przecena).

    Rezultatem funkcji ma być liczba elementów tablicy, które zostały podwójnie przecenione. Uwaga — proszę kontrolować wartości parametrów.

  5. Proszę napisać funkcję: double [] premiaSwiateczna( double [] wynagrodzenia ) { ... }, która otrzymuje jako parametr tablicę liczb rzeczywistych wynagrodzenia, każdy element tej tablicy to wynagrodzenie pracownika pewnej firmy. Zadaniem funkcji jest wyznaczenie dla każdego pracownika kwoty premii świątecznej. Funkcja ma utworzyć dodatkową tablicę na wartości premii, tablica ta ma być rezultatem funkcji. Wartość premii wyznacza się na postawie i-tego wynagrodzenia, ma być wstawiona do i-tego elementu nowej tablicy. Premia wyznaczana jest względem wartości najwyższego wynagrodzenia występującego w tablicy wynagrodzenia, i tak: pracownicy o wynagrodzeniu mniejszym lub równym 30% maksymalnego otrzymują premię w wysokości 20% swojego wynagrodzenia, pracownicy o wynagrodzeniu powyżej 30% a poniżej 60% otrzymują premię w wysokości 10% swojego wynagrodzenia, pracownicy o wynagrodzeniu 60% i więcej otrzymuję premię w wysokości 5% swojego wynagrodzenia.
  6. Proszę napisać program, który wyprowadza do strumienia wyjściowego zestaw liczb, stanowiących typowanie do losowania tzw. „dużego totka”. Zestaw zawiera sześć losowych, niepowtarzających się liczb wybranych z zakresu [1…49].
  7. Proszę napisać program, który wyprowadza do strumienia wyjściowego pewną liczbę zestaw typowań do losowania tzw. „dużego totka”. Zestaw zawiera sześć losowych, niepowtarzających się liczb wybranych z zakresu [1…49]. Program mam pytać użytkownika o liczbę zastawów do wygenerowania, program ma w kolejnych wierszach wyprowadzić proponowane zestawy. Przykładowo, gdy użytkownik zażyczy sobie 4-ech zestawów, program może wypisać:

    Zestaw 1: 32 8 38 4 8 14
    Zestaw 2: 24 23 19 49 25 11
    Zestaw 3: 3 21 8 49 28 2
    Zestaw 4: 20 6 45 11 44 38