Zadaci s klasama?

Teme vezane za console/GUI programiranje u C/C++ jeziku
9 post(ov)a • Stranica: 1/1.

Zadaci s klasama?

PostPostao/la Tracer » 30 lip 2014, 20:48

Tražim zadatke s klasama... Ako tko ima kakve bio bih zahvalan.

Primjerice;

U kartaškom špilu se nalaze 52 karte a svaka od karti je označena brojem 1-52. Napišite program koji će za N igrača (N <= 13) podijeliti po 4 karte iz istog kartaškog špila. Prilikom kreiranja novog kartaškog špila sve karte mogu biti poredane po redu (1-52) ili izmiješane slučajnim redoslijedom, dok pri podijeli karata niti jedan od igrača ne smije dobiti kartu koja je već dodijeljena nekog drugom igraču.
Na početku programa potrebno je kreirati N igrača te novi špil karata. Upotrebom metode void Spil::PodijeliKarte(Igrac *igrac) svakom od igrača treba podijeliti po 4 karte sa vrha špila. Svaki igrač ima svoje ime te popis karti koje su mu podijeljene. Program treba ispisati karte koje su podijeljene svakom od igrača a zatim i karte koje su ostale u špilu.

Primjer izvođenja (izmiješani špil karata):
Unesi broj igraca: 4
Unesi ime 1.igraca: Ante
Unesi ime 2.igraca: Ivica
Unesi ime 3.igraca: Marko
Unesi ime 4.igraca: Ivan

Karte u spilu (52):
10 7 5 6 4 41 26 8 31 42
2 33 47 37 14 16 51 35 24 38
18 25 21 36 11 49 52 29 45 13
19 44 43 32 12 3 30 17 34 9
40 22 1 20 27 39 15 46 50 23
48 28

Ante je dobio sljedece karte: 10 7 5 6
Ivica je dobio sljedece karte: 4 41 26 8
Marko je dobio sljedece karte: 31 42 2 33
Ivan je dobio sljedece karte: 47 37 14 16


Preostale karte u spilu (36):
51 35 24 38 18 25 21 36 11 49
52 29 45 13 19 44 43 32 12 3
30 17 34 9 40 22 1 20 27 39
15 46 50 23 48 28

Re: Zadaci s klasama?

PostPostao/la Jasko » 02 srp 2014, 13:22

Za kakav nivo trebaju bit klase.
Ukljucujes li i rad sa thredovima. Skoro sam citao zanimljiv zadatak oko simulacije uzgoja tikve. Sad nezz koliko ti takvo nesto treba. A morao bi ga i prevesti nije ni na jednom od balkanskih jezika.

Pozz
Postoji 10 vrsta ljudi na zemlji. Oni koji razumiju binarni sistem i oni koji ga ne razumiju!
Posjetite moj YouTube kanal za gledanje za programiranje i druge teme oko računara.

Re: Zadaci s klasama?

PostPostao/la Tracer » 02 srp 2014, 19:30

Ne trebaju threadovi. Tek zadaci u kojima se može naučiti osnove objektno orjentirane paradigme. Znači, da se u njima simulira rad s atributima, kopirni konstruktor, operatori, nasljeđivanja, polimorfizam... Naravno, ne sve ovo u jednom zadatku već tek kao proizvoljne kombinacije.

Re: Zadaci s klasama?

PostPostao/la Jasko » 16 srp 2014, 15:02

Evo par malih zadataka sa klasama:

malo laksi zadaci za vjezbu (bez striktnih uputa, za vlastito razmisljanje o potrebama klase za rjesavanje zadanog problema):
1a.) Napisati osnovni code jedne kalse Complex, koja obskrbljuje rad sa kompleksnim brojevima. Razmisliti koji podaci su potrebni i napisati odgovarajuce getter- i setter-metode, kao i konstruktore. (Kompleksni broj se sastoji od imaginarnog i realno dijela, dakle z=real + i*imag)

1b.) Prosirite sada vasu Complex-klasu sa jednom javnom metodom, koj moze sabirati dva kompleksna broja.(Pomoc kako se sabiraju kompleksni brojevi: z1 + z2 = real1 + real2 + i(imag1 + imag2))

2a.) Napisati osnovni code jedne klase Razlomak, koja obskrbljuje rad sa razlomcima. Razmisliti koji podaci su ovdje potrebni i bitni te napisati odgovarajuce getter- i setter-metode i naravno kostruktore.

2b.) Prosirite vasu klasu Razlomak sa privatnom rekurzivnom metodom koja racuna najveci zajednicki dijelilac.

2c.) Napisati metodu koja dva razlomka sabira.

2d.) Napisati javnu metodu koja dijeli dva razlomka.

konkretni zadaci (sa striktnim uputama, vise korisni za ispite i sl.)

1.) Definisati slijedece klase. Svaka treba da sadrzi po potrebi odgovarajuce konstruktore i destruktore.
Kreirati sa svakim konstruktoro dva objekta (u zadacima a) do c)). Prvi objekt treba stvoriti pomocu definicije a drugi pomocu new. Izvrsni dio programa treba pozvati svaku funkciju koju ste napisali u datim klasama.

a) Klasa Krug treba predstavljati krug i kao privatni element klase treba sadrzavati radius (tipa double). Konstuktor i element funkcija setRadius trebaju uzimati jedan parametar tipa double i postavljati raiud kruga. Takodje treba biti moguce pozvati konstuktor bez parametara koji u tom slucaju radius kruga postavlja na 1. Funkcija Radius() treba vracati vrijednost radiusa kruga. Sve funkcije klasse Krug, trebaju se definisati unutar klase.

b) Klasa Kvadrat treba predstavljati kvadrat i kao privatne elemente ima duzinu stranice (tipa double). Klasa treba da sadrzi konsturktor i setter (setLenght) za duzinu stranice koji imaju parametar tipa double i koji postavlja duzinu stranice. Konstruktor treba biti moguce pozvati i bez parametra, a taj onda postavlja duzinu stranice na 1. Funkcija siteLenght() treba vracati vrtijednost duzine stranice. Sve funkcije trebaju biti definisane izvan klase.

c) Klasa Pravougaonik predstavlja pravougaonik i kao privatne elemente ima duzine stranica a i b (tip double), koji bivaju inicijalizirani putem nekog konstruktora. Treba biti moguce postaviti duzine stranica pomocu nekog settera (setLenght), kojem se predaju dva parametra tipa double. Duzine stranica saznajemo pomocu gettera siteLenght_a() i siteLenght_b().

d) Treba dodati svakoj od prethodnih klasa iz zadataka a) do c) funkcije Povrsina(), Obim() i toStr(). Funkcija toStr() treba vracati string u obliku "Krug radiusa 5" ili "Pravougaonik sa stranicama a=6 i b=7".
Zadnja izmjena: Jasko; 21 srp 2014, 10:47; ukupno mijenjano 1 put/a.
Postoji 10 vrsta ljudi na zemlji. Oni koji razumiju binarni sistem i oni koji ga ne razumiju!
Posjetite moj YouTube kanal za gledanje za programiranje i druge teme oko računara.

Re: Zadaci s klasama?

PostPostao/la Tracer » 17 srp 2014, 06:13

Hm.. Hvala! Da, zadaci trebaju biti "jači" tako da imaju što raditi bar pola sata :D

Re: Zadaci s klasama?

PostPostao/la Jasko » 21 srp 2014, 10:52

Zavrsio sam zadatak, mislim da ako das da se radi zadatak od a) do d) ima posla za pola sata, pogotov ako se radi o studentima, sigurno ima onih koji ce brze zavrsit, ali ima i onih kojima treba i vise vremena za taj zadatak, tako da je pola sata jedna zlatna sredina. Fino je da se i svaki zadatak za sebe moze gledati.

Imam ja ovdje jos par zadataka, samo sto ih treba prevesti, ako pasu zadaci ovog tipa ja cu jos koji ubacit. Zadaci su iz knjige "Zadaci sa rjesenjima - C++ sa Microsoft Visual C++ 2008 - Autora: Richard Kaiser;Izdavacka kuca: Springer; verzija od 10.7.2009
Postoji 10 vrsta ljudi na zemlji. Oni koji razumiju binarni sistem i oni koji ga ne razumiju!
Posjetite moj YouTube kanal za gledanje za programiranje i druge teme oko računara.

Re: Zadaci s klasama?

PostPostao/la Tracer » 21 srp 2014, 13:39

Može! Super. Svaka pomoć je dobrodošla.

Zahvaljujem!

Re: Zadaci s klasama?

PostPostao/la Jasko » 21 srp 2014, 14:55

2) Opisati zadatke rada konstruktora i destruktora. Dali naredni kod ispunjava navedene zadatke?

Kod: Označi sve
class C {
int n, max;
int* a;
public:
C()
{
max=100;
a=new int[max];
}
C(int i)
{
n=1;
a=new int[100];
a[0]=i;
 };
C(int i,int j)
{
n=2;
max=100;
a=new int[100];
a[1]=i;
a[2]=j;
 };
void add_data(int d)
{
if (n<max-1)
{
++n;
a[n]=d;
}
 }
void show_data(TextBox^ tb)
{
for (int i=0; i<n; ++i)
 tb->AppendText(a[i].ToString);
}
};


3) Kojoj od narednih klasa je potreban destruktor i zasto?
a)
Kod: Označi sve
class C1 {
int x,y,z;
public:
C1(int x_=0, int y_=0, int z_=0)
{
x=x_; y=y_; z=z_;
}
};

b)
Kod: Označi sve
class C2 {
int* x;
public:
C2(int n)
{
x=new int[n];
}
};

c)
Kod: Označi sve
#include <fstream>
using std::ifstream;


4) Nekada imamo vise mogucnosti naslijedjivanja:

a) Posto kvadrat ima jednu duzinu a pravougaonik dvije duzine stranica, mozemo klasu za pravougaonik iz jedne klase Kvadrat naslijediti i tako za jednu stranicu koristiti duzinu iz klase Kvadrat.

b) No kvadrat mozemo smatrati i pravougaonikom sa dvije jednake stranice. Definisite basis klasu za pravougaonik i naslijedjujte iz te klase za novu klasu Kvadrat, pri cemu konstuktoru klase Kvadrat duzine stranica izjednacava.

c) Uporedit ova dva nacina koje su prednosti i nedostatci
Postoji 10 vrsta ljudi na zemlji. Oni koji razumiju binarni sistem i oni koji ga ne razumiju!
Posjetite moj YouTube kanal za gledanje za programiranje i druge teme oko računara.

Re: Zadaci s klasama?

PostPostao/la Tracer » 21 srp 2014, 16:49

Hvala još jednom! Kad ćeš dalje imati štogod samo stavi ;)


9 post(ov)a • Stranica: 1/1.

Na mreži

Trenutno korisnika/ca: / i 1 gost.