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);
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,
Zdefiniuj odpowiednie funkcje w pliku źródłowym wektor.c
.
Napisz program, który korzystając z tych funkcji przeprowadzi losowanie:
k
, n
n
kul (tablica liczb całkowitych o rozmiarze n
)n
k
pierwszych kul Przydatne funkcje:
Wyeliminuj z programu losującego elementy języka C na rzecz mechanizmów wykorzystywanych w C++
*.c
→ *.cpp
struct
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 przechowywania 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