[zap] 23.1.2006 16:00

Uživatelský avatar
Necroman
Supermatfyz(ák|ačka)
Příspěvky: 459
Registrován: 20. 1. 2005 19:46
Typ studia: Informatika Mgr.
Bydliště: Louny / kolej Jednota, Praha
Kontaktovat uživatele:

[zap] 23.1.2006 16:00

Příspěvek od Necroman »

Tentokrát byla novinka ;-), měli jsme psát vlastní šablonu pro zlomek, který jako čitatele a jmenovatele mohl mít jakékoliv číslo, nebo objekt/šablonu, která má definované * a /.

sablona - racionalni cislo
"parametry" - dva typy (cit a jmenovatel - COKOLIV) a (trait = STRUKTURA - jeden prvek, ktery popisuje, co je nula a jak se testuje, nejaky struct, napr
struct int_trait {
static bool is_zero(const TYP &c) } )
operace:
konstruktor (2 parametry) cit/jmen, copy konstr
operator=
* => nasobeni zlomky
/ => to je horsi
rozpoznat, kdy vyjde nula, i na konstruktor NULA VE JMEN -> nadefinovat VYJIMKU, copy konstr v pohode, nadefinovat NECO, co mi rekne, jestli to je nula
<< => (cout) napr (25)/(11)
>> => (cin) dtto
destruktor
Zlomek<int,int_trait> Z1;
bere vse, sablona, promenne, tridy
instanciovat pro integery
pak pro tridu C class { private: int ... }
a nakonec sam v sobe :-O (slozeny zlomek)

koncil jsem po 2 hodinach po zadani, prede mnou to zvladli asi 4, vice nevim
Nastesti nebylo zapotrebi zadnych STL a zadnych streamu, toho jsem se bal :roll:
v priloze me reseni, nema to trait pro vlozeny zlomek a >>, ale jinak v pohode vse
Přílohy
zlomek.zip
Moje reseni, neni to 100%ni, ale jinak funguje v pohode...
(2.22 KiB) Staženo 231 x
Naposledy upravil(a) Necroman dne 23. 1. 2006 21:32, celkem upraveno 2 x.
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Já to chtěl říct jako první!!!!!!!! No nic:)
kavos
Matfyz(ák|ačka) level I
Příspěvky: 11
Registrován: 22. 1. 2006 14:57

Re: [zap] 23.1.2006 16:00

Příspěvek od kavos »

Zlomek<int,int_trait> Z1;
Hele, možná jsem to blbě pochopil, ale neměl spíš ten trait být šablona? Jakože Zlomek<int> a potom voláš rn_trait<T>::is_zero(...). Jen jsem pak na šablonový trait neuměl napsat frienda...
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

No Yaghob řikal, že ti šikovnější z nás nappéšou i ten Trait jako šablonu parametrizovanou typem toho zlomku. Já sem to tak udělal, kdyžtak přikládám svůj kód (psal sem to poprvé v životě, takže to asi neni moc hezký).
Přílohy
main.cpp
(5.17 KiB) Staženo 220 x
Uživatelský avatar
Necroman
Supermatfyz(ák|ačka)
Příspěvky: 459
Registrován: 20. 1. 2005 19:46
Typ studia: Informatika Mgr.
Bydliště: Louny / kolej Jednota, Praha
Kontaktovat uživatele:

Příspěvek od Necroman »

Eubie píše:No Yaghob řikal, že ti šikovnější z nás nappéšou i ten Trait jako šablonu parametrizovanou typem toho zlomku.
Pravda... právě proto jsem to napsal jako struct :-D... s Traitem jsem pracoval vůbec poprvé a tak jsem rád, že to bylo aspoň takto...
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Odpovědět

Zpět na „2005“