zadania

Transkrypt

zadania
Zestaw 1-1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Napisz program pobierający od użytkownika liczbę całkowitą R (R>1) i liczbę rzeczywistą
dodatnią
S,
a
następnie
informujący
ile
kolejnych
liczb
z
ciągu
1, R-1, R2-2, R3-3, R4-4, … należy dodać, aby otrzymać liczbę nie mniejszą niż S, ale
koniecznie nieparzystą, oraz o ile wynik tego dodawania będzie większy od S.
Dla R=2 ciąg przyjmuje postać 1, 1, 2, 5, 12, 27, …, więc sumy kolejnych wartości tworzą
ciąg 1, 2, 4, 9, 21, 48, …
Przykłady:
• dla R=2 i S=9 otrzymamy wynik:
liczb: 4, wynik rowny
• dla R=3 i S=30.5 otrzymamy wynik:
liczb: 5, wynik wiekszy o 80.5
2. Napisać program pobierający od użytkownika tekst o maksymalnej długości 100 znaków
zawierający litery i spacje.
Program wypisuje pobrany tekst, a następnie wypisuje wszystkie zawarte w nim wyrazy
(rozumiane jako ciąg znaków nie zawierający spacji) mające długość maksymalną spośród
wszystkich wyrazów tego tekstu.
Przykłady:
• dla tekstu Ala ma las i dwa psy program wypisuje wyrazy:
Ala las dwa psy
• dla tekstu ten program sprawdza wyrazy program wypisuje wyraz:
sprawdza
Zestaw 2-1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Napisz program, który pobiera od użytkownika dwie liczby całkowite p, q, 0<p<q a
następnie wyświetla ciąg k1, k2, …, kn skonstruowany według przepisu:
•
k1 to najmniejsza liczba naturalna k, taka że kp ≥ q,
•
jeśli k1p-q > 0, to wykonujemy przypisania p = k1p - q, q = k1q i jako k2 bierzemy znów
najmniejszą liczbę naturalną k, taką że kp ≥ q; w przeciwnym razie konstrukcja jest
skończona.
•
jeśli k2p-q > 0, to wykonujemy przypisania p = k2p - q, q = k2q i jako k3 bierzemy
najmniejszą liczbę naturalną k, taką że kp ≥ q; w przeciwnym razie konstrukcja jest
skończona.
•
I tak dalej.
Przykłady:
• p, q: 3 7
3 11 231
• p, q: 12 37
4 14 346 179228
2. Napisz program zamieniający napis składający się z cyfr występujących na przemian ze
znakami działań '+' i '–' na poprawny arytmetycznie wynik. Zakładamy, że napis zaczyna się
i kończy cyfrą i że ma nie więcej niż 100 znaków.
Przykład:
Do obliczenia: 2+9+0-5-7
Wynik: -1
Zestaw 3 -1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Konik polny potrafi wykonać skok o długości X cm. Po 10 takich skokach konik robi się
trochę zmęczony i wykonuje skoki o połowę krótsze. Po kolejnych 10 skokach konik jest
zmęczony jeszcze bardziej i znów jego skoki skracają się o połowę, i tak dalej. Gdy skoki
konika staną się krótsze niż Y cm – konik zatrzymuje się i odpoczywa. Napisz program
pobierający od użytkownika liczbę metrów D jakie ma przebyć konik oraz wartości X i Y
(mają to być liczby całkowite dodatnie) i informujący, czy konik da radę przebyć tę drogę
bez odpoczynku, a jeśli tak to w ilu skokach.
Przykłady:
• dla X=34 [cm], Y=2 [cm] i D=4 [m] otrzymamy wynik:
tak, w 14 skokach
• dla X=34 [cm], Y=2 [cm] i D=7 [m] otrzymamy wynik:
nie
2. Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej
liczbą całkowitą dodatnią) tablicę N wartości całkowitych.
Program pobiera od użytkownika wartości tablicy, wypisuje jej zawartość, a następnie
wypisuje wszystkie takie rozłączne trójki elementów tej tablicy (gdzie trójki wybierane są
tak, że pierwszy element tablicy jest pierwszym elementem pierwszej trójki, a dla tablicy o
długości nie podzielnej przez 3 końcowe elementy tablicy mogą nie być elementami żadnej
trójki), których średnia jest mniejsza od średniej z największej i najmniejszej wartości w
tablicy.
Przykłady:
• dla N=13 i tablicy 2 3 4 8 2 9 7 5 3 3 8 4 2 program wypisze trójki:
2 3 4, 7 5 3, 3 8 4
• dla N=6, tablicy 1 -2 2 3 2 -1 program wypisze trójkę:
1 -2 2
Zestaw 4 – 1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Napisać program pobierający od użytkownika wartości całkowite aż do podania wartości 0
kończącej pobieranie i wypisujący te trójki kolejno podawanych liczb, które zawierają tylko
liczby podzielne przez liczbę całkowitą D, a średnia trójki jest większa od liczby całkowitej
G (liczby D i G są podawane przez użytkownika na początku programu), oraz informację
ile było takich trójek.
Przykłady:
• dla D=5, G=6 i ciągu 3 4 5 10 5 15 4 4 -2 -5 5 -5 0 wypisywane są trójki i komunikat:
5 10 5
10 5 15
Znalezionych trojek: 2
• dla D=2, G=3 i ciągu 2 4 2 2 5 3 0 wypisywany jest komunikat:
Znalezionych trojek: 0
2. Napisać program tworzący dynamicznie (po pobraniu od użytkownika wartości N będącej
liczbą całkowitą dodatnią) tablicę N wartości całkowitych.
Program pobiera od użytkownika wartości tablicy, wypisuje jej zawartość, a następnie
wypisuje wszystkie takie uporządkowane pary utworzone z elementów tablicy stojących
na różnych pozycjach, w których nie występuje najmniejsza wartość z tablicy, a suma pary
przekracza największą wartość w tablicy.
Przykłady:
• dla N=4 i tablicy 1 -2 1 2 wypisane mają być pary:
(1,2), (1,2), (2,1), (2,1)
• dla N=5 i tablicy 3 6 3 5 8 wypisane mają być pary:
(6,5), (6,8), (5,6), (5,8), (8,6), (8,5)
Zestaw 5 - 1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Sójka robi zapasy na zimę i codziennie zbiera żołędzie. Dni są albo deszczowe albo słoneczne.
Co trzeci dzień jest deszczowy i wtedy zbiera ona o połowę mniej niż gdyby dzień był słoneczny. Z
dnia na dzień słońce zachodzi coraz szybciej i każdego dnia sójka zbiera mniej niż dnia
poprzedniego. Dokładniej, jeśli pierwszego słonecznego dnia zebrała L żołędzi ( L ≥ 40 oraz L jest
liczbą parzystą), to drugiego słonecznego dnia zbierze L - 2 żołędzi, trzeciego deszczowego dnia
zbierze (L - 4)/2, czwartego słonecznego dnia zbierze L - 6 orzechów, piątego słonecznego dnia
zbierze L - 8 żołędzi, szóstego deszczowego zbierze (L - 10)/2 itd. Ile żołędzi zbierze sójka w ciągu
N dni (N ≤ 20 jest liczbą całkowitą)?
Przykład: L = 40 i N = 10
Ilość żołędzi zebranych w kolejnych dni: 40, 38, 18, 34, 32, 15, 28, 26, 12, 22.
Zatem łącznie zbierze 265 żołędzi.
2. Napisać program tworzący dynamicznie N – elementową tablicę liczb całkowitych, gdzie N > 0
jest liczbą całkowitą podaną przez użytkownika. Wartości tablicy są podawane przez użytkownika,
a następnie wypisywane. Program ma wypisać wszystkie takie ciągi kolejnych liczb parzystych
występujących w tej tablicy, których długość jest maksymalna. Jeśli w tablicy są wyłącznie liczby
nieparzyste, program zwraca informację: „Brak liczb parzystych w tablicy”.
Przykłady:
N=8
tablica: 2 3 4 6 8 3 8 6
odpowiedź: 4 6 8
N = 12
tablica: 2 3 4 6 8 3 8 6 5 4 2 6
odpowiedź: 4 6 8, 4 2 6
Zestaw 6 - 1
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym
folderze o nazwie będącej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko źródła
programów (pliki o rozszerzeniach .cpp)!!!
1. Napisz program pobierający od użytkownika liczbę rzeczywistą R > 0. Następnie program
pobiera liczby całkowite aż do podania liczby 0 kończącej pobieranie. Program wypisuje te trójki
kolejno wczytanych liczb takie, że wszystkie liczby w trójce są nieparzyste, których średnia
arytmetyczna jest większa od R. Jeśli takie pary nie występują program wypisuje komunikat: „Brak
takich par”.
Przykłady:
R = 3.5
Wczytane liczby: 2 3 5 5 2 7 3 1 3 0
Odpowiedź: (3, 5, 5) (7, 3, 1)
R = 4.5
Wczytane liczby: 4 6 5 1 2 5 3 1 0
Odpowiedź: Brak takich par.
2. Napisz program, w którym użytkownik podaje dwie liczby całkowite dodatnie M < 27 i N < 11
oraz hasło składające się wyłącznie z liter lub cyfr o maksymalnej długości 30 znaków. Program
losuje M różnych liter i N różnych cyfr i podaje dla każdej z nich ilość wystąpień w haśle.
Bierzemy pod uwagę tylko małe litery z angielskiego alfabetu.
Przykład.
hasło: 1232aba
M = 2 N =3
Wylosowane litery i cyfry: a d 2 4 3
a – 2 razy, d – 0 razy, 2 – 2 razy, 4 – 0 razy, 3 – 1 razy
Zestaw II
Tworzymy folder na pulpicie o nazwie będącej numerem indeksu. W folderze zapisujemy tylko
wszystkie pliki źródłowe (z rozszerzeniem .cpp ). Po skończonej pracy nie wyłączamy komputera.
1. Napisz program pobierający od użytkownika liczbę rzeczywistą R > 0. Następnie program
pobiera liczby całkowite aż do podania liczby 0 kończącej pobieranie. Program wypisuje te pary
kolejnych liczb nieparzystych, których średnia arytmetyczna jest większa od R. Jeśli takie pary nie
występują program wypisuje komunikat: „Brak takich par”.
Przykłady:
R = 3.5
Wczytane liczby: 2 3 5 1 2 7 3 1 3 0
Odpowiedź: (3, 5) (7, 3)
R = 4.5
Wczytane liczby: 4 6 5 1 2 5 3 6 0
Odpowiedź: Brak takich par.
2. Napisz program, w którym użytkownik podaje dwie liczby całkowite dodatnie M < 27 i N < 11
oraz hasło składające się wyłącznie z liter lub cyfr o maksymalnej długości 30 znaków. Program
losuje M różnych liter i N różnych cyfr i podaje dla każdej z nich ilość wystąpień w haśle.
Bierzemy pod uwagę tylko małe litery z angielskiego alfabetu.
Przykład.
hasło: 1232aba
M = 2 N =3
Wylosowane litery i cyfry: a d 2 4 3
a – 2 razy, d – 0 razy, 2 – 2 razy, 4 – 0 razy, 3 – 1 razy
Zestaw III
Tworzymy folder na pulpicie o nazwie będącej numerem indeksu. W folderze zapisujemy tylko
wszystkie pliki źródłowe (z rozszerzeniem .cpp ). Po skończonej pracy nie wyłączamy komputera.
1. W pewnej grze liczbowej bierze udział dwóch graczy. W każdej rundzie każdy gracz rzuca 2
sześciennymi kostkami do gry. Liczba punktów zdobyta w danej rundzie przez gracza jest równa
sumie wyrzuconych oczek, jeśli oczka były różne. Jeśli oczka były takie same, to gracz dostaje 1
punkt karny (-1 punkt). Aktualny wynik gracza to łączna suma punktów zdobyta w trakcie
dotychczas rozegranych rund. Gra kończy się rundą, w której jeden z graczy lub obaj (wtedy remis)
przekroczy 50 punktów. Jeśli żaden z graczy po 30 rundach nie przekroczy 50 pkt, wtedy gra
kończy się remisem. Napisz program symulujący tę grę. Dokładniej, w każdej rundzie komputer
ma losować oczka w rzutach kostkami i podawać aktualne wyniki graczy.
Przykłady.
Runda 1. GraczA: 3 4 WynikA = 7 Gracz B: 2 2 WynikB = -1
Runda 2. GraczA: 6 6 WynikA = 6
Gracz B: 2 3 WynikB = 4
…..................................................................................................
…..................................................................................................
Runda 20 GraczA: 3 5 WynikA = 51 Gracz B: 1 2 WynikB = 50
Wygrał GraczA.
Runda 1. GraczA: 3 4 WynikA = 7 Gracz B: 2 2 WynikB = -1
Runda 2. GraczA: 6 6 WynikA = 6
Gracz B: 2 3 WynikB = 4
…..................................................................................................
…..................................................................................................
Runda 30 GraczA: 3 5 WynikA = 50 Gracz B: 1 2 WynikB = 48
Remis
2. Napisać program, w którym użytkownik podaje liczby całkowite N > 1 i M > 0, tworzący
dynamicznie N – elementową tablicę liczb całkowitych. Elementy tablicy są podawane przez
użytkownika, a następnie wypisywane. Program ma wypisać wszystkie pary nieuporządkowane
utworzone z elementów tablicy stojących na różnych pozycjach takie, że jeden z elementów w
parze jest parzysty oraz suma liczb w parze nie przekracza M. Jeśli takich par nie ma program
zwraca komunikat: „Brak takich par”
Przykłady:
N = 5, M = 7
tablica: 2 3 2 5 6
Odpowiedź: 2 3, 2 2, 2 5, 3 2, 2 5
N = 4, M = 6
tablica: 1 5 6 8
Odpowiedź: Brak takich par.

Podobne dokumenty