C (PDF)




File information


Title: Microsoft Word - C-zbiory-new
Author: user

This PDF 1.7 document has been generated by / Microsoft: Print To PDF, and has been sent on pdf-archive.com on 21/11/2016 at 17:31, from IP address 89.68.x.x. The current document download page has been viewed 337 times.
File size: 341.18 KB (3 pages).
Privacy: public file












File preview


Zadanie C - Zbiory
Punktów do uzyskania: 8
Język programowania: C++
autor zadania: Marek Śmieja

Zadaniem jest zaimplementowanie wybranych funkcjonalności biblioteki dla zbiorów.

Zakładamy, że uniwersum, czyli przestrzeń elementów, składa się liczb naturalnych od 1 do
4095. Zbiór n-elementowy będzie realizowany za pomocą tablicy, w której na pierwszych n
pozycjach będą umieszczone jego elementy (wybrane elementy z uniwersum), a na pozycji
(n+1) będzie znajdował się znak kończący, czyli -1. Z definicji, zbiór nie zawiera duplikatów,
a elementy w tablicy nie muszą być posortowane.
Do zaimplementowania są następujące podprogramy:

1. utworz przyjmująca odniesienia do dwóch tablic o elementach typu int i nazwach a, b
oraz liczbę n będącą długością tablicy a, niezwracająca wartości, która utworzy zbiór
składający się elementów wchodzących w skład tablicy a i zapisze go do tablicy b.
Tablica a może zawierać jakiekolwiek liczby całkowite (nie reprezentuje zbioru), a
wynikowa tablica musi spełniać warunki zbioru z zadania.
2. suma przyjmująca adresy trzech tablic o elementach typu int i nazwach a, b, c
opisujących zbiory, niezwracającą wartości, która wypełni tablicę c sumą zbiorów a i
b.
3. iloczyn przyjmująca odniesienia do trzech tablic o elementach typu int i nazwach a, b,
c opisujących zbiory, niezwracającą wartości, która wypełni tablicę c przecięciem
zbiorów a i b.
4. roznica przyjmująca odniesienia do trzech tablic o elementach typu int i nazwach a,
b, c opisujących zbiory, niezwracającą wartości, która wypełni tablicę c różnicą
zbiorów a i b.
5. roznica_sym przyjmująca odniesienia do trzech tablic o elementach typu int i
nazwach a, b opisujących zbiory, c, niezwracającą wartości, która wypełni tablicę c
różnicą symetryczną zbiorów a i b.
6. dopełnienie przyjmująca odniesienia do dwóch tablic o elementach typu int i
nazwach a, b opisujących zbiory, niezwracającą wartości, która wypełni tablicę b
dopełnieniem zbioru a.
7. dodanie przyjmującą odniesienia do tablicy o elementach typu int i nazwie a
opisującej zbiór oraz argument b typu int, niezwracająca wartości, która doda element
b do zbioru a.
8. czy_podzbior przyjmująca odniesienia do dwóch tablic o elementach typu int i
nazwach a, b opisujących zbiory, która zwróci wartość true jeśli a jest podzbiorem b.
9. czy_rowne przyjmująca odniesienia do dwóch tablic o elementach typu int i nazwach
a, b opisujących zbiory, która zwróci wartość true jeśli a jest równe b.
10. czy_pusty przyjmująca odniesienie do tablicy o elementach typu int i nazwie a
opisującej zbiór, która zwróci wartość true jeśli a jest zbiorem pustym

11. czy_niepusty przyjmująca odniesienie do tablicy o elementach typu int i nazwie a
opisującej zbiór, która zwróci wartość true jeśli a jest zbiorem niepustym
12. czy_nalezy przyjmująca odniesienie do tablicy o elementach typu int i nazwie a
opisującej zbiór oraz element b typu int, która zwróci wartość true jeśli b jest
elementem a
13. srednia_arytmetyczna przyjmująca odniesienie do tablicy o elementach typu int i
nazwie a opisującej niepusty zbiór, a zwracająca wartość double będącą średnią
arytmetyczną elementów wchodzących w skład zbioru a
14. srednia_harmoniczna przyjmująca odniesienie do tablicy o elementach typu int i
nazwie a opisującej niepusty zbiór, a zwracająca wartość double będącą średnią
harmoniczną elementów wchodzących w skład zbioru a
15. min_max przyjmująca odniesienie do tablicy o elementach typu int i nazwie a
opisującej niepusty zbiór oraz referencje do dwóch liczb całkowitych b i c, do których
zostanie zapisana wartość elementu najmniejszego i największego zbioru a,
odpowiednio.
16. statystyki przyjmująca odniesienie do tablicy o elementach typu int i nazwie a
opisującej zbiór, tablicę znakową o nazwie b, przechowującą kody operacji, tablicę
typu double o nazwie c, w której zapiszemy wynik oraz liczbę całkowitą n, będącą
długością tablicy b, niezwracająca wartości. Kody operacji to ‘a’ – średnia
arytmetyczna, ‘h’ – średnia harmoniczna, ‘e’ – minimum i maksimum. W wyniku
wywołania podprogramu kolejne elementy tablicy c powinny zostać wypełnione
wartościami będącymi wynikami wywołania kolejnych operacji zdefiniowanych w
tablicy b.

Powyższe operacje nie mogą modyfikować danych ponad te, które są ściśle wyspecyfikowane
w opisie podprogramów. Dla przykładu, jeśli suma zbiorów daje zbiór n elementowy, to
można zmodyfikować tylko (n+1) pierwszych wyrazów tablicy wynikowej.
Całość implementacji ma znaleźć się w pliku kod.cpp. Archiwum zip zawierające wyłącznie
ten plik ma zostać wysłana do systemu Baca. W szczególności, w pliku kod.cpp nie ma być
funkcji main.
Dla przykładowego maina:

//tworzenie
int a[] = {4,1,3,1,5000};
int b[10];
utworz(a,b,5);
//suma
int c[] = {2,1,-1};
int d[10];
suma(b,c,d);
for(int i = 0; i < 5; ++i){
cout << d[i] << " ";
}

cout << endl;
//min_max
int x,y;
min_max(b,x,y);
cout << x << " " << y << endl;
//operacje logiczne
cout << czy_pusty(b) << " " << czy_niepusty(b) << " " << czy_nalezy(b,5) << endl;
poprawnym wynikiem jest:
4 1 3 2 -1
14
010






Download C



C.pdf (PDF, 341.18 KB)


Download PDF







Share this file on social networks



     





Link to this page



Permanent link

Use the permanent link to the download page to share your document on Facebook, Twitter, LinkedIn, or directly with a contact by e-Mail, Messenger, Whatsapp, Line..




Short link

Use the short link to share your document on Twitter or by text message (SMS)




HTML Code

Copy the following HTML code to share your document on a Website or Blog




QR Code to this page


QR Code link to PDF file C.pdf






This file has been shared publicly by a user of PDF Archive.
Document ID: 0000510658.
Report illicit content