Stránka 1 z 1

Zap 23.01.2008 14:00

PříspěvekNapsal: 28. 1. 2008 11:23
od WindowLicker
Na terminu bylo 5 lidi. Nikdo nedal!!! Zadavaji p. Simek. Zadani viz priloha.
DSC00129.JPG
Zadani
Prvni odesel po 10min. Dalsi dva v prubehu se slovy ze by potrebovali tak 3 dny ne 3 hodiny. Preposledni odevzdaval neco ke konci. Jak sem zaslechl tak to bylo nejak C-like, ale pravdepodobne to chodilo spravne. P .Simek ocenil kus udelane prace a odevzdavajici letel jak dobre nakopla kocka. Po konci casoveho limitu se me P. Simek zeptal jestli to mam objektove? Ja, ze ne. Tak at, ze jdu. Ale byl to joke(hahahaha). Chtel se na to kouknout, ale nemel sem hotove trideni nejtezsi cast ulohy (3/4 prace). Tak jsem s mnaucenim odesel taky. Problem je v tom ze produktu muzu byt hodne vic nez se vleze do pameti: klicem je id a pak s libovolnou kombinaci popis vyrobku; trida nebezpocnosti; bez popisu; trvanlivost atd... Dva identicke vyrobky lisici se jen v popisu jsou dva jine vyrobky.
Kdy nekdo skilled vedel jak na to... do 3 hodin a nejak hezky C++&OOP-like. Na zacatku padali terminy technikus Dedicnost, polymorfizmus, STL atd :-)

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 29. 1. 2008 08:27
od Tacoud
Já bych to řešil tak, že bych si ty záznamy házel do vectoru (nebo podobného kontejneru). Potom je to třídění skoro zadarmo, stačí zavolat fci sort (z <algorithm>) a hodit jí nějakou vlastní fci na porovnání dvou prvků. Ta potom setřídí ten kontejner, jak je potřeba.
Co se týče polymorfismu, asi by se dal použít (jestli jsem správně počítal, je tam 6 různých typů záznamu). Takže možná mít nějakou základní třídu, ve které jsou položky společné všem typům záznamu a od ní odvodit potomky, kteří se něčím liší.
Nejpracnější mi na tomhle přijde parsování samotného zdrojáku.

Mimochodem, nevypadal ten zadávající nějak takhle ?

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 29. 1. 2008 14:40
od nardew
Tacoud píše:Já bych to řešil tak, že bych si ty záznamy házel do vectoru (nebo podobného kontejneru).

sice toto nie je moja pisomka, ale v zadani je napisane ze vstup je nekonecny => nevojde sa ti do pamati => nemozes si to vsetko nahadzat do kontajneru a zotriedit si to.

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 29. 1. 2008 14:53
od WindowLicker
Jo s pameti je problem. Moje reseni bylo ze sem udelal tridy Zaznam a ruzne sem dedil. A chtel sem to hazat do vectoru, ale pak se mi libila vic mapa ale nedodelal sem :(. Nekonecnost vstupu je ze zadani - ja meditoval nad slevanim ale bohuzel nikam to nevedlo. Myslim ze zadani neni uplne korektni :(
No mozna je pan zadavajici nejaka reikarnace pana docenta.

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 29. 1. 2008 18:29
od hippies
ja chapu neomezene velikosti jako nutnost dynamicke alokace, .. kdyz nedovoli alokovat == uz ani swapovat neni kam == stejne mas problem, .. jako o tom, ze cilem bylo naimplementovat slevaci trideni silne pochybuju.

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 4. 2. 2008 21:09
od Jakobicek
hippies má pravdu neomezená délka vstupu, znamená, že prostě nemůžete mít pole konstantní velikosti v paměti...

jinak zadání je to ošklivé... parsování souboru je vždy nepříjemné/ vůbec nejlepší je vstup prostě to nějak zprasit... opravdu nepřemýšlejte jak udělat vstup hezký / možná nejlepší ho skoro vůbec neřešit... prostě poznám jestli je to zaměstnanec nebo položka prodeje nebo nákupu/ty hrůzy jako třída nebezpečnosti nebo cože to tam vlastně je bych neřešil...prostě vrazil do nějakého stringu další v té položce...ten může být koneckonců klidně i prázdný u první varianty/

dědičnost tu asi není to pravé ořechové /todle by mě rozhodně nenapadlo ve stresu zápočtové písemky/... rozpoznat co je co na vstupu... pak stačí jeden vektor na prodej jeden na nákup a třetí pro zaměstnance... setřídit a vypsat co je potřeba, pak není tak složité

RADA1
pokud bídný a mrzký cvičící u zápočtového testu prohlásí něco o řešení chybného vstupu ignorujte ho...

RADA2
pokud by vás během zápočtového testu napadlo odejít rozhodně neodcházejte

RADA3
pokud bídný a mrzký cvičící zadá zdánlivě nesplnitelné zadání zkuste alespoň část vyřešit ostatní na tom nebudou o mnoho lépe...

termín 0/5 viva docent zlo... :S brrr

Re: Zap 23.01.2008 14:00

PříspěvekNapsal: 2. 11. 2016 09:22
od mivo
No, koukam na to po X letech, ale myslim, ze reseni je jedine - zadani cist od konce. Prvni krok bych volil cist vstup, zjistit, co to je za vetu - pozna se to podle toho, jestli je mnozstvi zaporne - pak to je prodej, kladne - pak to je nakup, nebo to jsou pismena, pak to je vyplata. Tim se (nekonecny) vstup uz da rozlozit konecny pocet souboru - podle druhu i podle pobocek. Zaroven si muzu v pameti urcit nejdrazsi zamestnance - jsou jen 3. Da se take predpokladat, ze pocet polozek a pocet pobocek je omezeny. Da se tedy snad vyrobit (v pameti) tabulka pobocka x polozka a kazdou nactenou vetu pricist do tabulky podle souradnic. Z ni pak vybrat pozadovane hodnoty neni problem. Kdyby to neslo - neceho bylo moc, to by byla uz opravdu prasarna, slo by tabulku udelat v souborech - nikde neni receno, ze se vystupni soubor (po rozdeleni na pobocky) nesmi znovu nacist a nebo dodatecne setridit.