• Nie Znaleziono Wyników

Zestaw C-11: Organizacja plików:

N/A
N/A
Protected

Academic year: 2021

Share "Zestaw C-11: Organizacja plików:"

Copied!
5
0
0

Pełen tekst

(1)

funkcję wypisz wypisującą zawartość sznura;

funkcję wstaw dodającą na końcu sznura element zawierający liczbę podaną jako parametr;

funkcję usun rozpatrującą rozłączne trójki elementów sznura i usuwającą te z elementów trójki, które nie zawierają wartości najmniejszej w obrębie takiej trójki (w każdej trójce pozostaje jeden, dwa lub trzy elementy w zależności od tego czy wartość najmniejsza się powtarza). W przypadku sznura o długości nie podzielnej przez 3 końcowe elementy (nie wchodzące w skład żadnej trójki – trójki wybierane są tak, że pierwszy element sznura jest początkowym elementem pierwszej trójki) są modyfikowane tylko gdy są przynajmniej dwa i mają różne wartości (usuwany jest ten przechowujący większą wartość). Pamięć zajmowana przez usuwane elementy ma zostać zwolniona. Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp);

oraz program testujący działanie biblioteki poprzez pobranie sznura (funkcja wstaw; użytkownik podaje liczby, które mają być wstawione do sznura i decyduje o zakończeniu podawania), wypisanie jego zawartości (funkcja wypisz; przykład: dla zestawu liczb wejściowych 4,7,5,1,6,1,7,3,2,9,1 sznur uzyskuje postać 4,7,5,1,6,1,7,3,2,9,1), a następnie usunięcie w sznurze innych niż najmniejsze wartości z rozłącznych trójek elementów (funkcja usun) i ponowne wypisanie jego zawartości (przykładowo sznur 4,7,5,1,6,1,7,3,2,9,1 uzyska postać 4,1,1,2,1, natomiast sznur 2,2,2,3,3,3 pozostanie bez zmiany).

Zad. 2: Rozszerzyć bibliotekę z zad.1 o funkcję przepnijPary, która modyfikuje sznur poprzez przepięcie na koniec sznura wszystkich rozłącznych par o sumie większej od wartości N będącej parametrem funkcji (pary wybierane są tak, że pierwszy element sznura jest pierwszym elementem pierwszej pary, a przypadku sznura nieparzystej długości jego ostatni element nie jest elementem żadnej pary).

Przepinanie par ma odwrócić ich kolejność względem tej w oryginalnym sznurze, a dodatkowo porządek elementów w parze również ma zostać odwrócony. Przykład: dla sznura 1,7,9,3,0,1,5,5,2,4,4,1,2,9,3,2,3 i N=5 dostaniemy wynik 0,1,4,1,3,2,3,9,2,4,2,5,5,3,9,7,1, dla N=100 powyższy sznur pozostanie bez zmiany, dla N=1 uzyska postać 0,1,3,2,3,9,2,1,4,4,2,5,5,3,9,7,1.

Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Zad. 3: Rozszerzyć bibliotekę z zad.1 o funkcję wymienRozne, modyfikującą dany sznur oraz drugi sznur S2 podany jako parametr. Modyfikacja każdego ze sznurów polega na wypięciu z niego elementów przechowujących wartości, które nie występują w drugim ze sznurów, i wpięciu ich do drugiego sznura, przy czym przepinanie elementów wykonywane jest w następujący sposób: pierwszy element z „tego”

sznura (oznaczonego w dalszym opisie przez S1) zawierający wartość nie występującą w S2, oraz wszystkie pozostałe elementy z tą samą wartością mają zostać przepięte w miejsce pierwszego elementu z S2, który nie występuje w S1 i odwrotnie, analogicznie z elementami przechowującymi kolejne różne wartości, itd., elementy przechowujące wartość „bez pary” nie są przenoszone (przykłady: dla sznurów S1=1,2,7,7,1,3,4,4 i S2=3,2,3,6,3,4,8,6,6,6 wynikiem będą S1=6,6,6,6,2,8,3,4,4 i S2=3,2,3,1,1,3,4,7,7, dla sznurów S1=4,2,3 i S2=1,1,1 wynikiem będą S1=1,1,1,2,3 i S2=4). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

(2)

funkcję wypisz wypisującą zawartość sznura;

funkcję wstaw dodającą na końcu sznura element zawierający liczbę podaną jako parametr;

funkcję usunCiagi usuwającą ze sznura ciągi sąsiednich elementów sznura w następujący sposób: usuwamy M elementów sznura (lub tyle ile jest, gdy jest mniej), następnie omijamy najkrótszy możliwy ciągły fragment zawierający dokładnie dwa elementy większe od wartości K podanej jako parametr, usuwamy kolejnych M elementów, pozostawiamy najkrótszy możliwy ciągły fragment zawierający dwa elementy większe niż K, itd. (M jest liczbą całkowitą dodatnią będącą parametrem funkcji). Pamięć zajmowana przez usunięte elementy ma zostać zwolniona.

Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp);

oraz program testujący działanie biblioteki poprzez pobranie sznura (funkcja wstaw; użytkownik podaje liczby które mają być wstawione do sznura i decyduje o zakończeniu podawania), wypisanie jego zawartości (funkcja wypisz; przykład: dla zestawu liczb wejściowych 4,7,5,1,6,6,7,1,3,2,9,1,1 sznur uzyskuje postać 4,7,5,1,6,6,7,1,3,2,9,1,1), a następnie po pobraniu od użytkownika wartości M i K, usunięcie w sznurze ciągów M elementów, z pozostawieniem fragmentów zawierających po dwie wartości większe niż K między kolejnymi ciągami (funkcja usunCiagi) i ponowne wypisanie jego zawartości (przykład: dla M=3 i K=2 sznur 4,7,5,1,6,6,7,1,3,2,9,1,1 uzyska postać 1,6,6,2,9,1,1, sznur 9,9,1,4,4,4,5,4,7,2,1,1 zostanie zredukowany do 4,4,7,2,1,1, sznur 1,1,1 stanie się pusty).

Zad. 2: Rozszerzyć bibliotekę z zad.1 o funkcję przepnijPary, która modyfikuje sznur poprzez przepięcie na koniec sznura wszystkich rozłącznych par o sumie większej od wartości N będącej parametrem funkcji (pary wybierane są tak, że pierwszy element sznura jest pierwszym elementem pierwszej pary, a przypadku sznura nieparzystej długości jego ostatni element nie jest elementem żadnej pary).

Przepinanie par ma odwrócić ich kolejność względem tej w oryginalnym sznurze, a dodatkowo porządek elementów w parze również ma zostać odwrócony. Przykład: dla sznura 1,7,9,3,0,1,5,5,2,4,4,1,2,9,3,2,3 i N=5 dostaniemy wynik 0,1,4,1,3,2,3,9,2,4,2,5,5,3,9,7,1, dla N=100 powyższy sznur pozostanie bez zmiany, dla N=1 uzyska postać 0,1,3,2,3,9,2,1,4,4,2,5,5,3,9,7,1.

Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Zad. 3: Rozszerzyć bibliotekę z zad.1 o funkcję wymienRozne, modyfikującą dany sznur oraz drugi sznur S2 podany jako parametr. Modyfikacja każdego ze sznurów polega na wypięciu z niego elementów przechowujących wartości, które nie występują w drugim ze sznurów, i wpięciu ich do drugiego sznura, przy czym przepinanie elementów wykonywane jest w następujący sposób: pierwszy element z „tego”

sznura (oznaczonego w dalszym opisie przez S1) zawierający wartość nie występującą w S2, oraz wszystkie pozostałe elementy z tą samą wartością mają zostać przepięte w miejsce pierwszego elementu z S2, który nie występuje w S1 i odwrotnie, analogicznie z elementami przechowującymi kolejne różne wartości, itd., elementy przechowujące wartość „bez pary” nie są przenoszone (przykłady: dla sznurów S1=1,2,7,7,1,3,4,4 i S2=3,2,3,6,3,4,8,6,6,6 wynikiem będą S1=6,6,6,6,2,8,3,4,4 i S2=3,2,3,1,1,3,4,7,7, dla sznurów S1=4,2,3 i S2=1,1,1 wynikiem będą S1=1,1,1,2,3 i S2=4). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list,

(3)

funkcję wypisz wypisującą zawartość sznura;

funkcję wstaw dodającą na końcu sznura element zawierający liczbę podaną jako parametr;

funkcję usun usuwającą ze sznura wszystkie elementy o wartościach większych niż średnia z elementów sznura przechowujących wartość drugą co do wielkości (tj. najmniejszą taką że jest większa niż minimum) lub przedostatnią co do wielkości (tj. największą taką że jest mniejsza od maksimum) w tym sznurze. Pamięć zajmowana przez usunięte elementy ma zostać zwolniona.

Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp);

oraz program testujący działanie biblioteki poprzez pobranie sznura (funkcja wstaw; użytkownik podaje liczby które mają być wstawione do sznura i decyduje o zakończeniu podawania), wypisanie jego zawartości (funkcja wypisz; przykład: dla zestawu liczb wejściowych 4,7,5,1,6,6,7,1,3,2,9,1,1 sznur uzyskuje postać 4,7,5,1,6,6,7,1,3,2,9,1,1), a następnie usunięcie elementów przechowujących wartości większe niż średnia z elementów o drugiej co do wielkości lub przedostatniej co do wielkości wartości w sznurze (przykład: sznur 4,7,5,1,6,6,7,1,3,2,9,1,1 uzyska postać 4,5,1,1,3,2,1,1, sznur 9,9,1,1,4,4,5,4,7,2 zostanie zredukowany do 1,1,4,4,4,2).

Zad. 2: Rozszerzyć bibliotekę z zad.1 o funkcję przepnijPary, która modyfikuje sznur poprzez przepięcie na początek sznura wszystkich rozłącznych par sąsiednich elementów takich, że średnia z wartości pary jest większa od N (gdzie N jest liczbą całkowitą dodatnią będącą parametrem funkcji, a rozłączne pary są wybierane tak, że pierwszy element sznura jest pierwszym elementem pierwszej pary, a w przypadku sznura nieparzystej długości jego ostatni element nie wchodzi w skład żadnej pary). Przepinanie ma być wykonywane tak, aby kolejność przepinanych par i kolejność elementów w każdej parze została zachowana. Przykład: dla N=5 sznur 3,6,6,4,7,5,7,3,2,9,7,7,4,2 ma zostać przekształcony do postaci 7,5,2,9,7,7,3,6,6,4,7,3,4,2. Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Zad. 3: Rozszerzyć bibliotekę z zad.1 o funkcję przeniesRozne, modyfikującą dany sznur oraz drugi sznur S2 podany jako parametr. Modyfikacja każdego ze sznurów polega na wypięciu z niego elementów przechowujących wartości, które nie występują w drugim ze sznurów, i wpięciu ich do drugiego sznura, przy czym przepinanie elementów wykonywane jest w następujący sposób: pierwszy element z „tego”

sznura (oznaczonego w dalszym opisie przez S1) zawierający wartość nie występującą w S2, oraz wszystkie pozostałe elementy z tą samą wartością mają zostać przepięte na początek sznura S2 i odwrotnie, analogicznie z elementami przechowującymi kolejne różne wartości, itd., przy czym elementy przenoszone w pierwszej kolejności powinny znaleźć się przed przenoszonymi później (przykłady: dla S1=1,2,7,7,1,3,4,4 i S2=3,2,3,6,3,4,8,6,6,6 wynikiem będzie S1=6,6,6,6,8,2,3,4,4 i S2=1,1,7,7,3,2,3,3,4, dla S1=4,2,3 i S2=1,1,1 wynikiem będzie S1=1,1,1,2,3 i S2=4). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

(4)

funkcję wypisz wypisującą zawartość sznura;

funkcję wstaw wstawiającą do sznura element zawierający liczbę podaną jako parametr tak, aby sznur był uporządkowany niemalejąco (zakładając, że sznur „na wejściu” jest już uporządkowany w taki sposób);

funkcję usun rozpatrującą rozłączne czwórki elementów sznura i usuwającą dwa pierwsze elementy czwórki jeśli suma wszystkich elementów czwórki jest parzysta, albo dwa ostatnie elementy czwórki w przeciwnym przypadku. W przypadku sznura o długości nie podzielnej przez 4 końcowe elementy (nie wchodzące w skład żadnej czwórki – czwórki wybierane są tak, że pierwszy element sznura jest początkowym elementem pierwszej czwórki) nie są modyfikowane.

Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp);

oraz program testujący działanie biblioteki poprzez pobranie sznura (funkcja wstaw; użytkownik podaje liczby, które mają być wstawione do sznura i decyduje o zakończeniu podawania), wypisanie jego zawartości (funkcja wypisz; przykład: dla zestawu liczb wejściowych 1,3,6,1,3,7,2,6,3,1,1 sznur uzyskuje postać 1,1,1,1,2,3,3,3,6,6,7), a następnie usunięcie w sznurze pierwszych dwóch lub ostatnich dwóch elementów rozłącznych czwórek w zależności od parzystości sumy wartości czwórki (funkcja usun) i ponowne wypisanie jego zawartości (przykład: sznur 1,1,1,1,2,3,3,3,6,6,7 zostanie przekształcony do postaci 1,1,2,3,6,6,7, sznur 2,3,6,7,8,8,8,9,9,10,90,100 uzyska postać 6,7,8,8,9,10).

Zad. 2: Rozszerzyć bibliotekę z zad.1 o funkcję przeniesSkrajne, która modyfikuje sznur poprzez przeniesienie (przepięcie) w środek sznura M jego elementów końcowych i M elementów początkowych, przy czym przepinanie to wykonywane jest tak, że elementy z początku umieszczane są

„za środkiem” z odwróceniem ich kolejności, a elementy z końca - „przed środkiem” z zachowaniem ich kolejności (przykład: dla M=4 sznur 1,2,3,4,5,6,7,7,8,8,9,9 zostanie przekształcony do postaci 5,6,8,8,9,9,4,3,2,1,7,7, a sznur 1,2,3,4,5,6,7,8,9,10,11 – do postaci 5,8,9,10,11,6,4,3,2,1,7). W przypadku gdy długość sznura jest parzysta i niewiększa niż 2M albo nieparzysta i niewiększa niż 2M+1, przepinanie nie jest wykonywane. Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Zad. 3: Rozszerzyć bibliotekę z zad.1 o funkcję wymienRozne, modyfikującą dany sznur oraz drugi sznur S2 podany jako parametr. Modyfikacja każdego ze sznurów polega na wypięciu z niego elementów przechowujących wartości, które nie występują w drugim ze sznurów, i wpięciu ich do drugiego sznura, przy czym przepinanie elementów wykonywane jest w następujący sposób: pierwszy element z „tego”

sznura (oznaczonego w dalszym opisie przez S1) zawierający wartość nie występującą w S2 ma zostać przepięty w miejsce pierwszego elementu ze sznura S2, który nie występuje w sznurze S1 i odwrotnie (pozostałe elementy z tą samą wartością jak przenoszony powinny zostać usunięte), analogicznie z elementami przechowującymi kolejne różne wartości, itd., elementy przechowujące wartość „bez pary”

nie są przenoszone (przykłady: dla S1=1,2,5,5,6,7,7 i S2=2,2,6,6,7,8,9,9,9 wynikiem będzie S1=8,2,9,6,7,7 i S2=2,2,6,6,7,1,5, dla S1=1,2,3 i S2=4,4,4 wynikiem będzie S1=4,2,3 i S2=1). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece

(5)

funkcję wypisz wypisującą zawartość sznura;

funkcję wstaw wstawiającą do sznura element zawierający liczbę podaną jako parametr tak, aby sznur był uporządkowany nierosnąco (zakładając, że sznur „na wejściu” jest już uporządkowany w taki sposób);

funkcję usun rozpatrującą rozłączne trójki elementów sznura i usuwającą pierwsze dwa elementy trójki jeśli te dwa elementy przechowują różne wartości, albo dwa ostatnie elementy trójki w przeciwnym przypadku. W przypadku sznura o długości nie podzielnej przez 3 końcowe elementy (nie wchodzące w skład żadnej trójki) nie są modyfikowane (trójki wybierane są tak, że pierwszy element sznura jest początkowym elementem pierwszej trójki). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp);

oraz program testujący działanie biblioteki poprzez pobranie sznura (funkcja wstaw; użytkownik podaje liczby, które mają być wstawione do sznura i decyduje o zakończeniu podawania), wypisanie jego zawartości (funkcja wypisz; przykład: przykład: dla zestawu liczb wejściowych 1,3,6,1,2,7,2,6,3,1,1 sznur uzyskuje postać 7,6,6,3,3,2,2,1,1,1,1), a następnie usunięcie w sznurze pierwszych lub ostatnich dwóch elementów z rozłącznych trójek elementów sznura (funkcja usun) i ponowne wypisanie jego zawartości (przykład: sznur 7,6,6,3,3,2,2,1,1,1,1, zostanie przekształcony do postaci 6,3,1,1,1; sznur 5,5,5,5,4,4,4,2,1 zostanie przekształcony do postaci 5,4,1).

Zad. 2: Rozszerzyć bibliotekę z zad.1 o funkcję przeniesSkrajne, która modyfikuje sznur poprzez przeniesienie (przepięcie) w środek sznura M jego elementów końcowych i M elementów początkowych, przy czym przepinanie to wykonywane jest tak, że elementy z początku umieszczane są

„przed środkiem” z odwróceniem ich kolejności, a elementy z końca - „za środkiem” z zachowaniem ich kolejności (przykład: dla M=4 sznur 9,9,8,8,7,6,5,5,4,3 zostanie przekształcony do postaci 7,8,8,9,9,5,5,4,3,6, a sznur 11,10,9,8,7,6,5,4,3,2,1 – do postaci 7,8,9,10,11,6,4,3,2,1,5). W przypadku gdy długość sznura jest parzysta i niewiększa niż 2M albo nieparzysta i niewiększa niż 2M+1, przepinanie nie jest wykonywane. Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Zad. 3: Rozszerzyć bibliotekę z zad.1 o funkcję przeniesRozne, modyfikującą dany sznur oraz drugi sznur S2 podany jako parametr. Modyfikacja każdego ze sznurów polega na wypięciu z niego elementów przechowujących wartości, które nie występują w drugim ze sznurów, i wpięciu ich do drugiego sznura, przy czym przepinanie elementów wykonywane jest w następujący sposób: pierwszy element z „tego”

sznura (oznaczonego w dalszym opisie przez S1) zawierający wartość nie występującą w S2, oraz wszystkie pozostałe elementy z tą samą wartością mają zostać przepięte na koniec sznura S2 i odwrotnie, analogicznie z elementami przechowującymi kolejne różne wartości, itd., przy czym elementy przenoszone w pierwszej kolejności powinny znaleźć się za przenoszonymi później (przykłady: dla S1=9,8,7,7,5,4,4 i S2=8,8,5,4,4,2,1,1,1 wynikiem będzie S1= 8,5,4,4,1,1,1,2 i S2=8,8,5,4,4,7,7,9, dla S1=4,3,2 i S2=1,1,1 wynikiem będzie S1=3,2,1,1,1 i S2=4). Funkcja nie może używać tablic, pomocniczych sznurów ani struktur danych dostępnych w bibliotece standardowej (wektorów, list, kolejek, itp). Wykorzystać funkcję w programie testującym.

Cytaty

Powiązane dokumenty

W latach 2001-2007 przeprowadzono badania analizując dochody ludności (tys.zł) i dług publiczny państwa w przeliczeniu na jednego mieszkańca (tys. b)

Wyobraź sobie bardziej skomplikowany schemat rekursji (np. funkcję przy- porządkowującą formule liczbę wolnych wystąpień zmiennych w tej formule).. Po- każ, że tak

Gdybym miał ich o pięć więcej, to byłoby równo siedem tuzinów?. Czy rzeczywiście Stefan mógł mieć

Dla argumentów

Wykonać ilustrację graficzną zadania: wykres funkcji oraz zaznaczone położenie

Wówczas funkcja ma sprawdzać czy ten warunek jest spełniony i wykonywać operację tylko w

Rozwiązać układ równań liniowych... Rozwiązać układ równań

Stosując najprostszą wersję metody eliminacji Gaussa dla macierzy rozszerzonej otrzymamy:... dla całego układu zbiór rozwiązań