Početnik sam u cpp-u,
trebam savjet u vezi rešenja zadatka;
zadatak je sledeći:
Definisati klasu Bin koja omogućuje manipulaciju prirodnim brojevima u binarnom brojnom sistemu. Svaki objekat ove klase karakteriše niy binarnih cifara. Maksimalan broj cifara u nekom objektu ove klase treba da definiše jedan zajednički privatni atribut dim.
Klasa treba da sadrži sljedeće funkcije članice(unutar definicije klase navesti prototipove funkcije članice, a definicije iznan definicije klase):
1. konstruktor koji podrazumjevano kreira binarni podatak čija je vrijednost 0. Inače, binarni podatak može da se inicijalizuje na osnovu cjelobrojne vrijednosti koju konstruktor može da primi kao argument.
2. operatorska funkcija za kastovanje binarnog podatka u tip int.
3. operatorska funkcija kojom se preklapa operator >, a koja vraća rezultat poređenja dva binarna podatka. Funkcija ne treba da ispisuje, nego da vrati odgovarajući rezultat.
4. operatorska funkcija kojom se preklapa operator ~, a koja vraca kao rezultat binarni podatak koji bi se dobio komplementiranjem datog binarnog broja. treba da vrati odgovarajući rezultat, ne da ga ispise.
5. operatorska funkcija kojom se preklapa operator za prefiksno inkrementovanje binarnog podatka.
Klasa treba da ima i sledeće prijateljske funkcije:
1. operatorska funkcija kojom se preklapa operator <<, a koja ispisuje binarni podatak. Omogućiti kaskadno povezivanje.
2. operatorska funkcija kojom se preklapa operator >>, a koja direktno ucitava binarni podatak kao bilo koji podatak nekog standardnog tipa. Omogućiti kaskadno pozivanje.
3. cifra koja ima mogućnosti da prebroji i kao rezultat vrati broj jedinica u nekom binarnom podatku. Funkcija ne treba da ispisuje, nego da vrati odgovarajući rezultat.
U main-u treba:
1. omogućiti korisniku da postavi maksimalan broj cifara u binarnim podacima.
2. sa standardnog ulaza učita niz(A) binarnih podataka(niz A može da sadrži do 100 elemenata, a treba da se alocira statički). Zatim na standardnom izlazu ispisati taj niz binarnih podataka.
3. sa standardnog ulaza učitavati niz prirodnih brojeva, dok se ne unese 0, pa na osnovu njega formirati niz(B) binarnih podataka koji su ekvivalentni učitanim brojevima(niz B se alocira dinamički). Potom na standardnom izlazu ispisati niz B u opadajućem (nerastućem) redosljedu.
4. Formirati niz C kojeg čine drugi komplement binarnih podataka iz niza B (inkrementovan prvi komplement), pa ispisati taj niz.
primjer programa:
___________________________
Unesite DIM? 5
Koliko ima binarnih podataka u nizu A? 3
1. podatak? 1100
2. podatak? 101
3. podatak? 10001
Niz A: 01100 00101 10001
Unesite 1. prirodan broj? 12
Unesite 2. prirodan broj? 3
Unesite 3. prirodan broj? 8
Unesite 4. prirodan broj? 1
Unesite 5. prirodan broj? 0
Niz B u nerastućem redosljedu:
01100 01000 00011 00001
1. komplement: 10011 10111 11100 11110
2. komplement: 10100 11000 11101 11111
[Ovu poruku je menjao fresh.bm dana 22.12.2007. u 12:09 GMT+1]
koji su te napred zvali,
koji su te ojačali,
koji su ti krila dali?
To bejahu ideali!"
J.J.Zmaj










pomoc oko rešenja zadatka, uvod u cpp klase, preklapanje operatora i dinamička alokocija
Re: pomoc oko rešenja zadatka, uvod u cpp klase, preklapanje operatora i dinamička alokocija
Re: pomoc oko rešenja zadatka, uvod u cpp klase, preklapanje operatora i dinamička alokocija