October 2018 2 46 Report

proszę o pomoc w tych zadaniach może być z neta


More Questions From This User See All

D. Baza danych Na rynku towarowym działa 1 <= m <= 100 producentów oferujących 1 <= n <= 100 produktów. Każdy producent ustala swoją cenę jednostkową danego produktu (cena jest liczbą całkowitą nieujemną, nieprzekraczającą 1000 ). Twoim zadaniem jest zarządzanie cenami produktów poszczególnych producentów tzn. przechowywanie, aktualizacja oraz wyszukiwanie informacji o produktach wszystkich producentów. Ceny należy przechowywać w dwuwymiarowej tablicy – wiersze odpowiadają producentom, natomiast kolumny produktom. Zakładamy, że producenci oraz produkty mają przypisane numery zaczynając od 0 (zgodnie z indeksowaniem tablic) . Na zdefiniowanej tablicy cen należy móc wykonywać pewne operacje. Operacja dana jest przez sygnaturę (określoną przez literę alfabetu) oraz opcjonalne parametry. Niech t(i) ( 0 <= t(i) <= 1000 ) oraz cena_jednostokowa(i) oznaczają odpowiednio ilość oraz cenę jednostkową produktu i . Na potrzeby zadania definiujemy podstawowe pojęcie sumarycznej ceny zakupu produktów w ilościach t(0),...,t(n-1) u danego producenta jako wyrażenie t(0)*cena_jednostkowa(0) + ... + t(n-1)*cena_jednostkowa(n-1) . Wejście: W kolejnych liniach opisane są wymagane do wykonania operacje o następującym formacie: • A m n t – stworzenie nowej tablicy cen o rozmiarze m na n na podstawie listy t (tablica podawana jest wierszami a poszczególne liczby oddzielone spacjami) • B i j c - aktualizacja ceny produktu j producenta i na cenę c • C i1 i2 – zamiana cen wszystkich produktów pomiędzy producentem i1 a producentem i2. Przykład: jeśli ceny produktów u producenta i1 są równe 3 4 2 natomiast ceny u producenta i2 wynoszą 10 6 8 to w wyniku wykonania tej operacji producent i1 powinien mieć zdefiniowane kolejne ceny jako 10 6 8 a producent i2 jako 3 4 2 . • D i – przesunięcie cykliczne w prawo wszystkich cen jednostkowych producenta i. Przykład : jeżeli producent i miał ustalone ceny jednostkowe równe 10 6 8, to po wykonaniu tej operacji zostaną one zmienione na 8 10 6 . • E i t(0) ... t(n-1) - wypisanie sumarycznej ceny zakupu produktów w ilościach t(0),...t(n-1) u producenta i. Przykład: jeśli kolejne ceny produktów producenta i wynoszą 3 2 7 oraz liczby t1, t2, t3 są równe 3, 1, 5, to w wyniku należy wypisać wynik operacji 3*3+1*2+5*7, czyli 46. • F t1 ... tn – należy wypisać posortowaną niemalejąco listę sumarycznych cen zakupu produktów w ilościach t(0),...,t(n-1) dla wszystkich producentów. Zabronione jest używanie bibliotek STL. Przykład: dla tabeli postaci: 2 3 1 2 1 3 3 2 2 oraz zapytania F 1 2 2 poprawną odpowiedzią jest: 10 10 11 • G j - wypisanie numeru producenta oferującego najniższą cenę jednostkową produktu j (w przypadku kilku producentów oferujących najniższą cenę, wypisz najniższy z numerów producentów oferujących cenę minimalną). • K – zakończenie działania programu Zakładamy, że podawane dane są zawsze poprawne. W szczególności pierwszą operacją jest stworzenie tablicy cen. Poza tym, może wystąpić wiele operacji tworzenia tablicy cen – wówczas nowa tablica powinna zastąpić poprzednią. Wyjście: Na wyjściu program powinien w kolejnych liniach podawać wyniki wykonywanych operacji (dotyczy sygnatur E, F, G ), a po napotkaniu sygnatury K powinien wypisać aktualną zawartość tabeli (w kolejnych liniach wypisujemy kolejne wiersze tablicy, a za każdym elementem wiersza stawiamy znak spacji). Całość kończymy przejściem do nowej linii. Przykład 1: Dla danych wejściowych: A 2 3 4 5 6 1 2 3 E 0 0 0 0 B 0 1 10 C 0 1 E 0 1 1 1 B 1 0 5 D 1 C 0 0 E 0 1 2 1 G 1 K poprawną odpowiedzią jest: 0 6 8 0 1 2 3 6 5 10
Answer
GRA W KOŚCI Język programowania: c++ W grze w kości bierze udział dwóch graczy o nazwach: pierwszy, drugi. Każdemu graczowi przypada 5 tur, w każdej turze, gracz wykonuje maksymalnie 10 rzutów dwoma kośćmi jednocześnie. Tury graczy odbywają się naprzemiennie tzn. grę zaczyna gracz pierwszy, po turze następuje tura gracza drugiego, następna jest tura gracza pierwszego itd.. Możliwe wyniki rzutu jedną kością to jedna z następujących cyfr { 1 , 2 , 3 , 4 , 5 , 6 } . Grę zawsze rozpoczyna gracz ”pierwszy”. Podczas każdej tury gracz zbiera punkty według zasad opisanych poniżej. Suma punktów każdego gracza przed rozpoczęciem gry wynosi zero. Wygrywa gracz, który zbierze mniejszą ilość punktów. Napisz program symulujący grę w kości. Standardowe wejście programu to dwie cyfry ze zbioru { 1 , 2 , 3 , 4 , 5 , 6 } oznaczające liczbę oczek na poszczególnych kościach w danym rzucie. Pary cyfr podawane są kolejno. W każdym rzucie wczytywana jest nowa para cyfr oznaczająca wynik rzutu kośćmi danego gracza. Standardowe wyjście zależy od sumy oczek z obydwu kości w danym rzucie w następujący sposób: 1. Gdy gracz w swojej turze w pierwszym rzucie uzyska sumę oczek z obu kości równą 7 lub 11, wygrywa. Na standardowe wyjście powinien zostać wypisany komunikat o wyniku gracza w danej turze: "Gracz nazwa_gracza wygral". Aktualnie wykonywana tura powinna zostać przerwana i rozpocząć tura przeciwnika. 2. Gdy gracz w swojej turze w pierwszym rzucie uzyska sumę oczek z obu kości równą 2 lub 12, przegrywa. Na standardowe wyjście powinien zostać wypisany komunikat o wyniku gracza w danej turze: "Gracz nazwa_gracza przegral". Aktualnie wykonywana tura powinna zostać przerwana i rozpocząć tura przeciwnika. Do punktów gracza doliczone są punkty w liczbie równej ilości rzutów w danej turze. 3. Gdy gracz w swojej turze uzyska sumę oczek z obu kości równą 5, wygrywa, kończy swoją turę, rozpoczyna się tura przeciwnika. Na standardowe wyjście powinien zostać wypisany komunikat o wyniku gracza w danej turze: "Gracz nazwa_gracza wygral". 1 4. Gdy gracz w swojej turze uzyska sumę oczek z obu kości inną niż opisane powyżej do punktów gracza doliczona zostaje suma oczek uzyskanych w danym rzucie podzielona przez numer rzutu w danej turze. Zmienne przechowujące punkty graczy ze wszystkich tur powinny być typu double . Po zakończeniu wszystkich tur obydwu graczy na standardowe wyjście zostaje wypisany komunikat o sumie punktów zdobytych przez każdego z graczy oraz, który z graczy wygrał. W przypadku uzyskania jednakowej ilości punktów przez obydwu graczy jest remis. Wynik pierwszego gracza x Wynik drugiego gracza y Wygral gracz nazwa_gracza lub Wynik pierwszego gracza x Wynik drugiego gracza x Remis Do wypisania na standardowe wyjście wyniku punktowego każdego z graczy należy użyć komendy cout nie zmieniając domyślnej precyzji. Przykład 1. tura pierwszego gracza : Wejście: 1 4 Wyjście: Gracz pierwszy wygral tura drugiego gracza : Wejście: 4 5 6 6 1 6 1 4 Wyjście: Gracz drugi wygral tura pierwszego gracza : Wejście: 1 1 Wyjście: Gracz pierwszy przegral 2 tura drugiego gracza : Wejście: 6 6 Wyjście: Gracz drugi przegral tura pierwszego gracza : Wejście: 1 2 5 6 2 5 6 6 3 4 5 5 1 4 Wyjście: Gracz pierwszy wygral tura drugiego gracza : Wejście: 6 6 Wyjście: Gracz drugi przegral tura pierwszego gracza : Wejście: 6 6 Wyjście: Gracz pierwszy przegral tura drugiego gracza : Wejście: 6 6 Wyjście: Gracz drugi przegral tura pierwszego gracza : Wejście: 6 6 Wyjście: Gracz pierwszy przegral tura drugiego gracza : Wejście: 6 6 Wyjście Gracz drugi przegral 3 Wynik pierwszego gracza 19.9 Wynik drugiego gracza 21.3333 Wygral gracz pierwszy Format przykładowego wyjścia programu: Gracz pierwszy wygral Gracz drugi wygral Gracz pierwszy przegral Gracz drugi przegral Gracz pierwszy wygral Gracz drugi przegral Gracz pierwszy przegral Gracz drugi przegral Gracz pierwszy przegral Gracz drugi przegral Wynik pierwszego gracza 19.9 Wynik drugiego gracza 21.3333 Wygral gracz pierw
Answer

Recommend Questions



Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.