Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:14.1.2014 19:51

Ahoj kluci, stejně jako tomu bylo minulý týden v Javě, i tento týden budeme v pravidelné minisoutěži o placku a samolepky vytvářet webovou aplikaci. Tentokrát bude v C# za použití ASP.NET MVC. Máte šanci naučit se super technologii, která vás jednou bude živit. Vše potřebné je popsané v tutoriálech - http://www.itnetwork.cz/…/asp-net/mvc, stačí jen chtít.

Zadání úlohy je jednoduché. Vytvořte webovou aplikaci v ASP.NET MVC, která vypočítá modus (nejčastěji se vyskytující prvek) z čísel zadaných ve formulářovém poli. Čísla jsou zadaná slovy a jsou vždy do 100, oddělená jsou čárkou.

Pokud je modů více, např. pro vstup:

sto, padesát šest, dvacet, sto, padesát šest

budou vypsány všechny, zde tedy 100, 56.

Snažte se o co nejhezčí kód a efektivní řešení. Jelikož se na devbooku jedná o novou technologii, rozdám placky hned pěti nejlepším řešitelům! Roli hraje jak rychle odevzdáte a jak kvalitní aplikace bude.

Čas je do pondělí 20.1. do 10:00.

Editováno 14.1.2014 20:00
Odpovědět
14.1.2014 19:51
You are the greatest project you will ever work on.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na David Hartinger
Ondřej Štorc:14.1.2014 20:49

V tom zadání musí být mezera za čárkou nebo ne?

Nahoru Odpovědět
14.1.2014 20:49
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Juraj Mlich
Tvůrce
Avatar
Juraj Mlich:14.1.2014 21:06

Vo výsledku musí byť normálne číslo (najčastejšie, ciframi) alebo môže byť slovom?

 
Nahoru Odpovědět
14.1.2014 21:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Ondřej Štorc
David Hartinger:14.1.2014 21:07

S bílými znaky okolo uživatelských vstupů bys měl počítat vždy.

Nahoru Odpovědět
14.1.2014 21:07
You are the greatest project you will ever work on.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Juraj Mlich
David Hartinger:14.1.2014 21:08

Musí být ciframi :)

Nahoru Odpovědět
14.1.2014 21:08
You are the greatest project you will ever work on.
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovídá na David Hartinger
Juraj Mlich:14.1.2014 21:14

Čísla slovom môzu byť po slovensky?

 
Nahoru Odpovědět
14.1.2014 21:14
Avatar
David Hartinger
Vlastník
Avatar
Nahoru Odpovědět
14.1.2014 21:15
You are the greatest project you will ever work on.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Ondřej Štorc:15.1.2014 14:51

Zde je má verze: <a href="https:/­/drive.google­.com/file/d/0B8tNhz­LqjXuIS0FQTGZHY­VlHR1E/edit?us­p=sharing"/>Go­ogle Drive</a>

Nahoru Odpovědět
15.1.2014 14:51
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Ondřej Štorc:15.1.2014 15:36

Ještě online: arakamus.apone.cz

Nahoru Odpovědět
15.1.2014 15:36
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Ondrca:15.1.2014 15:42

Online ti to nefunguje

Nahoru Odpovědět
15.1.2014 15:42
Zase jsem o něco chytřejší
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Ondrca:15.1.2014 15:51

Nemá to být:
arakamus.aspone.cz
?

Nahoru Odpovědět
15.1.2014 15:51
Zase jsem o něco chytřejší
Avatar
Odpovídá na David Hartinger
Jakub Lásko[Saarix]:15.1.2014 16:16

Nevadí, když formát zápisu bude u 2 složkových čísel takto -> osmdesát-šest
?? :)

Nahoru Odpovědět
15.1.2014 16:16
Časem je vše možné.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Ondrca
Ondřej Štorc:15.1.2014 16:45

Jo má, pal jsem to ve spěchu..

Nahoru Odpovědět
15.1.2014 16:45
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Jakub Lásko[Saarix]:15.1.2014 16:58

Tady je mé řešení: https://www.dropbox.com/…cProject.rar

Nahoru Odpovědět
15.1.2014 16:58
Časem je vše možné.
Avatar
Odpovídá na Jakub Lásko[Saarix]
Zdeněk Pavlátka:15.1.2014 17:03

http://www.itnetwork.cz/…outezi-machr
"Budou zabaleny do archivu zip, který bude pojmenovaný ..."

Nahoru Odpovědět
15.1.2014 17:03
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jakub Lásko[Saarix]:15.1.2014 17:04

Také online verze: http://laskoproject.asp2.cz/

Nahoru Odpovědět
15.1.2014 17:04
Časem je vše možné.
Avatar
Odpovídá na Zdeněk Pavlátka
Jakub Lásko[Saarix]:15.1.2014 17:04

Omlouvám se na to jsem úplně zapoměl. Upravím to.

Nahoru Odpovědět
15.1.2014 17:04
Časem je vše možné.
Avatar
Jakub Lásko[Saarix]:15.1.2014 17:07

Už tedy pojmenovaná finálka: https://www.dropbox.com/…_ASP_MVC.zip

Nahoru Odpovědět
15.1.2014 17:07
Časem je vše možné.
Avatar
Odpovídá na Jakub Lásko[Saarix]
Zdeněk Pavlátka:15.1.2014 17:18

Na začátku máš příklad "dvacet, osmdesát-dva, pět, dvacet-šest".
Pokud ale číslo obsahuje "dva" aplikace nefunguje. Bere jenom "dvě". "osmdesát-dvě" moc hezky nezní.

Nahoru Odpovědět
15.1.2014 17:18
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Jakub Lásko[Saarix]:15.1.2014 17:27

Jaj detailista, ale máš pravdu, bylo by lepší to mít "dva" a "osmdesát-dva". Ale už se mě tento detail nechce upravovat, abych to tu nezahltil re-linky.

Editováno 15.1.2014 17:27
Nahoru Odpovědět
15.1.2014 17:27
Časem je vše možné.
Avatar

Člen
Avatar
:15.1.2014 20:02

Tak jsem to taky zkusil. Moje první aplikace v ASP.NET MVC :) Bez machra bych nikdy nazačal :)
http://sdrv.ms/1a7CWYA

 
Nahoru Odpovědět
15.1.2014 20:02
Avatar
Odpovídá na David Hartinger
Michal Žůrek - misaz:15.1.2014 20:04

Ahoj,
tak po několika hodinach bojo a uznání že samo mi to do hlavy nepřiskáče odevzdávám své nakonec celkem jednoduché řešení. Moje představa dokonalého kódu je jiná, ale co nadělám přeci jen s tím začínám.

Měl bych po této práci zhodnotit MVC, tak jo i ne. Líbí se mi ten koncept oddělovat model od pohledu kontrolérem, ale nelíbí se mi že ASP.NET nás od úplně všeho odstiňuje a my pomalu nevíme co se tam děje, to se mi zas na PHP líbí víc, že vždycky vím jak k tomu došlo.

Pokud se to naučíte je ASP.NET skvělé a už se ho nikdy nepustíte.

Download: http://misaz.moxo.cz/…a-csharp.zip
Online: http://misaz.asp2.cz/

jo a poznámka: je to ve Visual Basic nikoli C#.

 
Nahoru Odpovědět
15.1.2014 20:04
Avatar
Petr Gürth
Tvůrce
Avatar
Petr Gürth:15.1.2014 21:07

Ahoj, tak taky se přidávám k soutěžícím :)
https://db.tt/fVXv9GNz

 
Nahoru Odpovědět
15.1.2014 21:07
Avatar
Zdeněk Bauer
Tvůrce
Avatar
Zdeněk Bauer:15.1.2014 21:12

Omlouvám se, ale o co jde? :)
Zadá se slovy řada čísel (jedna, čtyři, dva, tři, jedna, čtyři) a ty které tam jsou více jak jednou tak se vypíší jako číslo? (V tomto případě 1 a 4?)

Editováno 15.1.2014 21:12
 
Nahoru Odpovědět
15.1.2014 21:12
Avatar
Odpovídá na Zdeněk Bauer
Jakub Lásko[Saarix]:15.1.2014 21:17

Ne více než jednou, ale které jsou tam nejvíce vůči celku, takže v tvém případě by se měli vypsat správně 1 a 4, ale nemusí tam být nutně více než 1 :-)

Nahoru Odpovědět
15.1.2014 21:17
Časem je vše možné.
Avatar
Odpovídá na Michal Žůrek - misaz
Jakub Lásko[Saarix]:15.1.2014 21:21

Sakra já ten VB snad nikdy nerozluštím :-) Vypadá to spíš jak malba... Ale opět jiné zajimavé provedení ;)

Nahoru Odpovědět
15.1.2014 21:21
Časem je vše možné.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Jan Vargovský:15.1.2014 21:54

To samé můžeš říct o všech technologiích. Kup si literaturu a budeš to vědět :-)

 
Nahoru Odpovědět
15.1.2014 21:54
Avatar
Petr Domes (petrds):16.1.2014 1:25

Přidávám se k soutěžícím :) http://leteckaposta.cz/970172245
Může mi někdo poradit free hosting, který podporuje MVC 4 ? dík

 
Nahoru Odpovědět
16.1.2014 1:25
Avatar
Michal Žůrek - misaz:16.1.2014 10:40

Ještě trochu jsem to vylepšil.

• Ostyloval jsem to (už jsem přišel na to, kam dát link na styl :D )
• Vyházel nesmyslné poznámky
• Metody pro překlad čislo <> text nejsou statické

Online: (pořád stejně) http://misaz.asp2.cz
Download: http://misaz.moxo.cz/…sharp--2.zip

 
Nahoru Odpovědět
16.1.2014 10:40
Avatar
Odpovídá na David Hartinger
Michael Olšavský:16.1.2014 22:15

Přidávám svou verzi. Ještě asi není finální, ale radši to sem hodím. Nechtělo se mi psát plně LINQ řešení, proto jsem tam přidal i něco svých algoritmů.

https://drive.google.com/…Y2FFRlE/edit?…

 
Nahoru Odpovědět
16.1.2014 22:15
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:20.1.2014 11:41

Tento týden je toho spoustu, tak budu stručný. Také se omlouvám těm, co mi psali do soukromých zpráv, ale nemám kapacitu na to, abych si před hodnocením procházel vaše řešení.

Placku získávají (pořadí nemá souvislost s kvalitou výsledku):

  • Michael Olšavský - Ok
  • [me|]3997[/me|] - Chválím ten validátor, jsi jediný, komu to řeší chybné vstupy. Výpočet modu jsi vyřešil skvěle.
  • Michal Žůrek - misaz - Helper se mi zdá zbytečný, můžeš si najít prostě maximální hodnotu pomocí Max() a k ní potom klíče. Koukám, že translator jsi udělal obousměrný, chválím.
  • Petr Domes (petrds) - Aplikace se chová zvláštně když zadám chybnou hodnotu. Místo ForEach bych raději použil Join. To řešení s předponami je zajímavé, ale nějak jsem se v tom ztratil, vypadá to, že to funguje.

Ostatní mají šanci své chyby opravit v další soutěži, kde bude shodné zadání pro technologii ASP.NET Web Forms. Jsou to:

  • Girtas - Výpočet modu je hrozně neefektivní, provádíš zbytečně vnořené cykly a spoustu zbytečných iterací, což dává minimálně složitost O(n2). Dále např. mazání z listu je velmi drahá operace.

Jakub[Saarix] - Zajímavý objektový návrh, bohužel jsi úplně zapomněl na čísla mezi 10 a 20 (např. čtrnáct). Modus se zdá také neefektivní, je řešen vnořenými cykly.

Arakamus - Blahořečil jsem ti za ten výpočet modu a potom tam najdu 100 hodnot ručně vypsaných pod sebou a dokonce ještě přes metodu Add. Když už, tak List jde inicializovat z pole nebo obsahuje metodu AddRange. Nicméně ten list máš 3x větší, než je potřeba.

Jinak čekal jsem, že když víte, že čísla budou do stovky a v zadání se nalézá slovo efektivní, že někoho napadne počítat modus pomocí pomocného pole o velikosti 100 :P Stačí projet vstupní hodnoty od uživatele a pro každou v pomocném poli zvýšit její počet o 1. Hodnota od uživatele je potom indexem do tohoto pole.

Výherci nechť publikují svá řešení a napíší x, vy už to znáte :)

Nahoru Odpovědět
20.1.2014 11:41
You are the greatest project you will ever work on.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na David Hartinger
Ondřej Štorc:20.1.2014 12:02

No mě v tu chvíli nenapadlo jak to lépe vyřešit :D

Nahoru Odpovědět
20.1.2014 12:02
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na David Hartinger
Michal Žůrek - misaz:20.1.2014 12:21

protože celkem všechny placky mám, tak mi do profilu dej OOP (vzít C# za zdrojový kód ve VB mi přišlo blbé) a posílat mi nemusíte nic. Publikuji to ještě dnes.

 
Nahoru Odpovědět
20.1.2014 12:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 34 zpráv z 34.