Zaimplementuj program w C (potem przerobimy go na C++) realizujący losowanie k liczb z n bez zwracania zgodnie z ponizszym schematem.
Utwórz plik nagłówkowy beben.h z poniższą zawartością:
struct beben { int rozmiar; int *kule; char* opis; }; struct beben *utworz(int n); struct beben *wypelnij(struct beben *b); struct beben *mieszaj(struct beben *b); void wypisz(struct beben *b, int n); void zwolnij(struct beben *b);
Kule w bębnie reprezentowane są przez liczby całkowite od 1 do n. Bęben jest strukturą zawierającą rozmiar, tablicę kul (dynamicznie alokowaną tablicę liczb całkowitych) oraz napis opisujący aktualny stan bębna.
Funkcje powinny realizować:
utworz - tworzy bęben mieszczący n kul i ustawia opis na „Beben stworzony”wypelnij - wypełnia bęben kulami od 1 do n i ustawia opis na „Beben gotowy do losowania”mieszaj - miesza zawartość bębna i ustawia opis na „Zawartosc wymieszana”wypisz - wypisuje opis oraz numery pierwszych n kulzwolnij - niszczy bęben, zwalniając pamięć zajmowaną przez kule
Zdefiniuj powyższe funkcje w pliku źródłowym beben.c.
W osobnym pliku źródłowym program.cpp napisz program, który korzystając z tych funkcji przeprowadzi losowanie wykonując nastepujace kroki:
k i nn kul nk pierwszych kul Przydatne funkcje:
Przykład działania programu:
k=6 n=49 Wylosowane kule: 23 5 45 12 34 49
Wyeliminuj z programu losującego elementy języka C na rzecz mechanizmów wykorzystywanych w C++
*.c na *.cppstruct przy deklaracjach zmiennych typu beben lub uczyń typ reprezentujący bęben klasąmalloc() i free() na wywołania operatorów new i delete (Zarządzanie pamięcią)std::cin i std::cout z biblioteki <iostream> do wczytywania danych i wyświetlania komunikatów (Strumienie)<string> zamiast tablic char* do reprezentowania napisów auto przy deklaracji obiektów i zmiennych (deklaracja typów auto)
Rozwiązanie w postaci plików nagłówkowych *.h i źródłowych *.cpp umieść w Moodle Zadanie 1