Diskuze: Machr na OOP - Žárovky a zdroj

Java Java Machr na OOP - Žárovky a zdroj

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Ahoj kluci, máme tu další pravidelnou minisoutěž o placku a nálepky, tentokrát ke zdokonalení vašeho objektového myšlení.

Napište program, který dostane na vstupu textový soubor. Jeho obsah bude složený z následujících znaků:

Vodiče: ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼
Žárovky: ○
Zdroj: Z

Obsah souboru reprezentuje jednoduchý elektrický obvod s jedním zdrojem, vodiči a žárovkami. Vaším úkolem je rozsvítit správně zapojené žárovky.

Vstup může vypadat např. takto:

┌─○─┐
└─Z─┘

A výstup:

┌─☼─┐
└─Z─┘

Zadání je zjednodušené, můžete počítat s tím, že:
V obvodu bude vždy jen jeden zdroj
V obvodu nedojde ke zkratu
Do žárovky vždy povedou max. 2 dráty (1 tam a jeden ven). To samé platí pro zdroj

Ukažme si ještě složitější situaci. Vstup:

┌─────┐
○     │
├─○○○─┤
│┌───┬┤
││   │○
Z│   ├┘
└┘   ○

A výstup:

┌─────┐
☼     │
├─☼☼☼─┤
│┌───┬┤
││   │○
Z│   ├┘
└┘   ○

Žárovka se samozřejmě chová jako vodič, pokud je připojena z obou stran k různým pólům zdroje, rozsvítí se. Polarita není důležitá (který pól zdroje jde na který pól žárovky). Určitě budete chtít použít algoritmus záplavy.

Můžete použít libovolný programovací jazyk.

Deadline si dejme v neděli 13.10. v 18:00

Editováno 8.10.2013 11:22
Odpovědět 8.10.2013 11:16
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
next-x
Neregistrovaný
Avatar
next-x:

David Čápka smime pouzit i jiny jazyk nez Java? treba C#? :)

 
Nahoru Odpovědět 8.10.2013 11:20
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na next-x
David Čápka:

Vidíš, to jsem zapomněl uvést. Ano, jazyk je libovolný.

Nahoru Odpovědět 8.10.2013 11:22
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michal Žůrek (misaz):

No nevím jestli by to splnilo zadání v jazyku který nepodporuje OOP. ;)

Nahoru Odpovědět  -1 8.10.2013 14:41
Nesnáším {}, proto se jim vyhýbám.
Avatar
martinsakra
Redaktor
Avatar
martinsakra:

situace že se etkají dva vodiče s opačnou ppolaritou (bez žárovky) neřeším že?

Nahoru Odpovědět 8.10.2013 15:11
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Myslíš si, že se v assembleru nedá psát objektově?

Nahoru Odpovědět 8.10.2013 15:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na martinsakra
Kit:

V tom případě zazáří ten drát :)

Nahoru Odpovědět  +3 8.10.2013 15:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Panda38
Redaktor
Avatar
Panda38:

Jsem zvědavý jestli bude někomu správně fungovat i žárovka ve vyváženém můstku :-):

┌────┐
│  ┌─┴─┐
│  ☼   ☼
Z  ├─○─┤
│  ☼   ☼
│  └─┬─┘
└────┘
Editováno 8.10.2013 15:23
 
Nahoru Odpovědět  +1 8.10.2013 15:18
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

Neřešíš, psal jsem to v zadání :)

Nahoru Odpovědět 8.10.2013 15:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Panda38
David Čápka:

O této magii jsem ani nevěděl :)

Nahoru Odpovědět 8.10.2013 15:24
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Bude ten vstup jako na obrazku přes řádky nebo to muže být v jednom řádku (pr. -[]_º) (teb priklad je jen tak nahozeny. Nema smysl)

 
Nahoru Odpovědět 8.10.2013 17:40
Avatar
David Oczka
Redaktor
Avatar
David Oczka:

Kdybych tak měl více času, šel bych do toho také. Vypadá to zajímavě... :) A je to docela i můj obor... :D Něco málo jsem i zkoušel, ale opět to ztroskotalo v mé časové tísni -> Nesnáším protokoly... :@ :D

Hodně zdaru všem... ;)

 
Nahoru Odpovědět 8.10.2013 17:53
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na David Oczka
Jan Vargovský:

Protokoly nemá rád nikdo :P hlavně grafy :D

 
Nahoru Odpovědět 8.10.2013 18:35
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Na grafy je dobrý R-project.

Nahoru Odpovědět 8.10.2013 20:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Teď koukám, že moje otázka je trochu blbost. Takže s tou se nezabývej. :-D Tohle je úloha skoro na dvě placky :-D Algoritmy a OOP. Schválně kolik lidí se zúčastní.

 
Nahoru Odpovědět 8.10.2013 20:21
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kit
Jan Vargovský:

Zkusím :) tento rok je konečně můžeme kreslit na PC, ale zkoušeli jsme to jednou a zabralo to asi 10x více času, tak snad ten tvůj sw pomůže :) jde právě o to, že zadáme f-ci, udělat měřítko na každou osu jiné, různé popisky, kóty atd.

Michael Olšavský Já uvidím jak to bude s časem :) ale jako úkol to je zajímavý.

 
Nahoru Odpovědět 8.10.2013 20:28
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Michal Vašíček:

Musí to načítat z txt souboru? Nemůže tam být richtextbox, do kterýho to vložíš?

Nahoru Odpovědět  +1 8.10.2013 20:31
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 8.10.2013 20:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Nahoru Odpovědět 8.10.2013 20:32
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Slyšel jsem o lidech, kteří potřebovali do diplomky několik set grafů. S Excelem neměli šanci to stihnout, protože by se uklikali. S tím R-projectem to zvládli. Chvíli trvá, než se s tím naučíš, ale pak mu už jen vrazíš seznamy hodnot a grafy z toho lezou jak na běžícím pásu.

Diagramy zase kreslím v Graphviz. Zadáš mu jen seznam uzlů a hran. Rozložení na ploše si už udělá sám.

Nahoru Odpovědět  -1 8.10.2013 20:35
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Michal Vašíček:

Tak jsem přišel na to, že je to richtextboxem nad moje síly, takže mám ještě debilnější otázku. Schválíš mi klasický textboxy naskládaný vedle sebe?

Nahoru Odpovědět 8.10.2013 20:41
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
Odpovídá na Kit
Michal Žůrek (misaz):

Proč by se v Excelu uklikali? R-projectu taky musíš říct z čeho to má udělat.

Nahoru Odpovědět 8.10.2013 20:46
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Vašíček
Luboš Běhounek (Satik):

dostat text ze souboru do stringu - na to ti staci jeden radek kodu:

string data = File.ReadAllText("soubor.txt");
Nahoru Odpovědět  +1 8.10.2013 20:47
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Pokud máš naměřená data v souborech, tak to v R-projectu není problém ani když jich děláš desítky tisíc či milióny.

Nahoru Odpovědět 8.10.2013 20:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Konečný (pavelco1998):

Přijde mi to jako moc hezký nápad. Ale asi se nezapojím. :-(

 
Nahoru Odpovědět 8.10.2013 20:50
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
Michal Vašíček:

Jo, jenomže problém je pro mě, jak vytáhnout určitej znak. Řekněme, že každej znak má pozici. A já nevím, jak vytáhnout znak na pozici 1,2.

Nahoru Odpovědět 8.10.2013 20:52
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
David Dostal
Redaktor
Avatar
Odpovídá na Michal Vašíček
David Dostal:

Tak použij

File.ReadAllLines

Vrátí ti to pole jednotlivých řádků.

Editováno 8.10.2013 20:59
 
Nahoru Odpovědět 8.10.2013 20:58
Avatar
Odpovídá na Michal Vašíček
Michal Žůrek (misaz):

Rozdělej si to na řádky. Pak to budeš mít jako pole polí. Jediným rozdílem bude že nebude platit [x][y], ale [y][x].

Nahoru Odpovědět 8.10.2013 21:00
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Nahoru Odpovědět 8.10.2013 21:03
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Michal Žůrek (misaz):

x je sloupce a y řádek, on nejprve načítá řádek proto je y první. Tedy to musíš napsat naopak.

Samozřejmně to lze přetočit.

Když na toto pravidlo zapomeneš, tak se pak strašně dlouho můžeš divit proč ti program nefunguje, tak jak si představuješ.

Nahoru Odpovědět  +1 8.10.2013 21:29
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

Ano to vím, také mě to v začátcích hoodně potrápilo :D

Nahoru Odpovědět 8.10.2013 21:34
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Michal Žůrek (misaz):

Já jsem kvůli tomu zahodil pár programů :D

Nahoru Odpovědět 8.10.2013 21:44
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

Já to vždy vyřešil :D ale stalo se mi že za pár dní jsem dělal něco jiného, opět 2D pole a stejná chyba a občas jsem zase si lámal hlavu proč :D ach ty začátky 8-)

Nahoru Odpovědět 8.10.2013 21:54
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Petr Nymsa
martinsakra:

jednoduše když pracuješ s 2d polem a program se chová divně (ne špatně, ne dobře) tak první co zkouším je že vymněním x,y jen kdyby náhodou :D

Editováno 8.10.2013 22:17
Nahoru Odpovědět  +1 8.10.2013 22:17
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Kit
Redaktor
Avatar
Odpovídá na martinsakra
Kit:

Když pracuji s 2D polem, tak si nejprve napíšu test, který mi ověří, že s tím polem pracuji správně. Pak ho teprve začnu programovat.

Nahoru Odpovědět  +1 8.10.2013 22:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Čápka
Libor Šimo (libcosenior):

Ako sa napíše znak svietiacej žiarovky? V ASCII som to nenašiel.

Nahoru Odpovědět 9.10.2013 16:17
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Libor Šimo (libcosenior)
David Čápka:

Přeci ho můžeš zkopírovat odtud. Jinak všechny znaky najdeš v mapě znaků (Windows aplikace).

Nahoru Odpovědět 9.10.2013 16:38
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Panda38
Redaktor
Avatar
Panda38:

Soubor musí být v kódu Unicode (tedy 2 bajty na znak) nebo UTF-8, v běžném kódu Windows 1250 tyto znaky nejsou.

 
Nahoru Odpovědět 9.10.2013 17:53
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na David Čápka
martinsakra:

Mam dotaz, v té složitější verzi, svítí žárovky určitě správně? res mě se nelíbí ta jedna nesvítící žárovka a jeden program mi dává za pravdu (což vubec nic neznamená, program není muj, a moje znalosti mají vcelku mezery)

Nahoru Odpovědět  +2 10.10.2013 22:18
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na martinsakra
Jan Vargovský:

Napiš na support toho SW, že tam maj chybu :)

 
Nahoru Odpovědět 10.10.2013 22:33
Avatar
dolakdavid
Člen
Avatar
Odpovídá na martinsakra
dolakdavid:

Taky jsem na to koukal, myslel jsem že jsem moc zkouřenej..

 
Nahoru Odpovědět 10.10.2013 22:46
Avatar
Panda38
Redaktor
Avatar
Odpovídá na martinsakra
Panda38:

Zjevně jim jde zkratová smyčka kolem nějakého dost silného trafa. Čítujou!

 
Nahoru Odpovědět  +1 10.10.2013 22:58
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
Zdeněk Pavlátka:

Proud jde cestou menšího odporu, takže když má dvě cesty (drát a žárovka) vybere si drát a žárovka se nerozsvítí.

Nahoru Odpovědět 11.10.2013 7:50
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

Je to už nějaký pátek, co jsem zapojoval žárovky, ale IMHO by svítit neměla, už jen proto, že je zkratovaná :)

Nahoru Odpovědět  +2 11.10.2013 8:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Psal jsi, že ke zkratu nedojde. To znamená, že tento případ řešit nemusíme nebo je to součástí? Jinak souhlasím s Zdeněk Pavlátka, proud si vybere menší odpor. Ale nevím, jestli se tomu říká zkrat...

 
Nahoru Odpovědět 11.10.2013 17:02
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:

Ve zkratu je jen žárovka, ne zdroj.

Nahoru Odpovědět 11.10.2013 17:11
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět  +1 11.10.2013 17:18
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Posix
Člen
Avatar
Posix:
┌─┐
│ ○───┐
├─○○○─┤
│┌────┘
Z┘

toto je špatně zadaný vstup?
Prostě žárovky a zdroj mohou mít vodiče jen na protější straně?
Pak by mě zajímalo, jestli mají být spojené ty žárovky nad sebou..

Editováno 12.10.2013 12:47
Nahoru Odpovědět 12.10.2013 12:46
Proč to dělat jednoduše, když to jde složitě.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

Jo, bral bych to jako špatně zadané. Z žárovky vždy povede vodič tím samým směrem, jakým přišel, případně bude tím směrem jiná žárovka nebo zdroj.

Nahoru Odpovědět 12.10.2013 12:55
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na Kit
Michal Žůrek (misaz):

Však v excelu jsou makra, tísíce a miliony taky nejsou problém.

Nahoru Odpovědět 13.10.2013 14:45
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Tak tady jsem i přes slušnou diskuzi nic nezaznamenal, zkusíme to někdy příště :)

Nahoru Odpovědět 13.10.2013 18:25
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Posix
Člen
Avatar
Odpovídá na David Čápka
Posix:

když počkáš ještě tak dvě hodiny, tak to stihnu :D

Nahoru Odpovědět 13.10.2013 18:37
Proč to dělat jednoduše, když to jde složitě.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na David Čápka
martinsakra:

Udělal jsem pěkný oop návrh třídy, inferface atd. Jen nebyl čas to dostat do provozuschopného stavu :D

Nahoru Odpovědět 13.10.2013 18:44
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Nahoru Odpovědět 13.10.2013 18:48
Nesnáším {}, proto se jim vyhýbám.
Avatar
Josef Kuchař (Pepa489):

next-x se ptal jestli mužeme použít libovolný jazyk,
ale sdraco už to tam psal :D :D

Nahoru Odpovědět 13.10.2013 19:09
2x piš, jednou debuguj
Avatar
Odpovídá na Michal Žůrek (misaz)
Michael Olšavský:

Jsem na tom stejně. V průběhu týdne jsem musel dodělávat jiný projekt, dnes jsem na tom začal pracovat, ale nestihl jsem to. Návrh tříd je pěkný, vše je hotové (logika, vstup) jen k hlavnímu algoritmu jsem se nedostal :-D

 
Nahoru Odpovědět 13.10.2013 19:16
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

Tak alespoň k něčemu to bylo :D

Nahoru Odpovědět  +1 13.10.2013 19:17
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Silvinios
Redaktor
Avatar
Odpovídá na David Čápka
Silvinios:

Přiznám se, že se mi nepodařilo vymyslet řešení. Myslím, že algoritmus je mnohem složitější než jen obyčejná vlna.
Jaké bylo správné řešení?

 
Nahoru Odpovědět 13.10.2013 19:29
Avatar
Odpovídá na Silvinios
Michael Olšavský:

Můj hrubý návrh je něco jako: 1, najdi žárovky 2, zkontroluj proud +- 3, zkus najít spojení s menším odporem 3, rozsviť požadované žárovky. Ale nezkoušel jsem to.

 
Nahoru Odpovědět 13.10.2013 19:33
Avatar
Posix
Člen
Avatar
Odpovídá na Michael Olšavský
Posix:

Tady nejde o žádný proud, napětí ani odpor. Aspon v zadání se o tom nic nepíše...
btw zachvilku sem hodim svoje "reseni" :D

Nahoru Odpovědět 13.10.2013 19:40
Proč to dělat jednoduše, když to jde složitě.
Avatar
Odpovídá na Zdeněk Pavlátka
Lukáš Hruda (Luckin):

Drát může mít klidně větší odpor než žárovka. Proud jde vždy oběma cestami, pouze v jedné bude menší než v druhé.

 
Nahoru Odpovědět  +1 13.10.2013 19:40
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Michael Olšavský
martinsakra:

Tak jsem to plánoval taky, jen jsem zjistil že body 2-3 jsou trošku složitější nakonec to bylo

  1. zpracuj vstup
  2. Najdi všechny "křižovatky" (vodiš s min 3 vstupy/výstupy) + zdroj
  3. z nich udělej vrcholy
  4. Mezi vrcholy najdi cestu (tu ohodnot odporem + zapamatuj si žárovku)
  5. Nejkratší/Nej­levnější cesty v grafu
  6. rosviť

Bohužel, kolem kroku 4-5 jsem se trochu zadrhl (resp napsal jsem a neměl čas zkontrolovat jestli to správně funguje).

Nahoru Odpovědět 13.10.2013 19:44
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Michael Olšavský:

Může, ale ve většíně reálných případů to tak není, což má docela logické důvody.

 
Nahoru Odpovědět  +1 13.10.2013 19:55
Avatar
Odpovídá na Michael Olšavský
Lukáš Hruda (Luckin):

Proč ne? Stačí aby ten drát byl trochu delší a může mít větší odpor než celá druhá větev i s žárovkou (ze schémata délku nepoznáš). Žárovka 240V/25W má tuším odpor kolem 50 Ohmů, přibližně stejný odpor má třímetrový měděný vodič o průřezu 1 mm2. Zadání neřeší napětí zdroje, odpory ani proud potřebný k rozsvícení žárovek. Ta žárovka dole splňuje jediné kritérium které bylo zadáno a to, že je z obou stran připojená k napětí, tudíž by měla svítit.

 
Nahoru Odpovědět 13.10.2013 20:27
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Pokud má ve schématu vodič nezanedbatelný odpor, musí být zakreslen jako rezistor.

Vodič z tak nekvalitní mědi bych tedy používat nechtěl. Raději bych si vzal třímetrový měděný vodič o průřezu 1 mm2, který bude mít odpor jen 50 mΩ, což je 1000× méně.

Editováno 13.10.2013 20:35
Nahoru Odpovědět  +1 13.10.2013 20:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Lukáš Hruda (Luckin):

Pardon, chyba ve výpočtu, mělo to být 3Km, myslel jsem, že se průřez vodiče udává ve m2. I přesto s tím ale zadání nepočítá, tudíž ta žárovka by pořád měla svítit :D

Asi jsem špatně převedl jednotky.

Editováno 13.10.2013 20:52
 
Nahoru Odpovědět  +1 13.10.2013 20:49
Avatar
Posix
Člen
Avatar
Posix:

Nakonec jsem se rozhodl, že to sem dám, ikdyž to není hotové tak, jak bych si představoval. Dělal jsem to na dvou PC, takže včera, jak jsem to měl spojit, tak jsem myslel, že umřu :D Každou část jsem dělal na druhém počítači zvlášť a nijak to na sebe nenavazovalo. Spojit to byl téměř nadlidský úkol. Proto návrh vypadá dost šíleně. Hlavně jsem se zaměřil na ten algoritmus rozsvícení žárovky. Zpracování obvodu ze souboru není dodělané, proto doporučuji pro testování vkládat pěkné obvody bez chyb a různých záludností (viz. výše můj dotaz, zda je vstup validní). Ještě přikládám obrázek, jak jsem to asi zhruba řešil. http://sdrv.ms/GUo1mT A ještě bych chtěl zmínit, že to nepočítá s žádnými hodnotami. To by ale teoreticky neměl být až takový problém. Tedy až na odpor vodičů, který bych asi nijak nanamontoval do stávajícího algoritmu.

http://sdrv.ms/GUnth0

Editováno 14.10.2013 9:43
Nahoru Odpovědět 14.10.2013 9:40
Proč to dělat jednoduše, když to jde složitě.
Avatar
Panda38
Redaktor
Avatar
Panda38:

Zapomeňte na odpory vodičů, ty tam nehrají roli.

 
Nahoru Odpovědět 14.10.2013 10:21
Avatar
Posix
Člen
Avatar
Odpovídá na David Čápka
Posix:

Dělals to taky nebos jen vymyslel zadání? Podělíš se kdyžtak o tvoje řešení?

Nahoru Odpovědět 14.10.2013 17:47
Proč to dělat jednoduše, když to jde složitě.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

Vymysleli jsme to s klukama na srazu, sám jsem to nezkoušel. Na tvé řešení kouknu zítra :)

Editováno 14.10.2013 18:41
Nahoru Odpovědět 14.10.2013 18:41
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

No funguje ti to parádně a návrh se mi také líbí :) Jelikož nikdo jiný neodevzdal, rádi ti placku pošleme, můžeš svou adresu poslat x.

Koukám, že vrcholy dokonce hodnotíš a obvod převádíš na graf. To je asi nejlepší řešení. Já jsem to nijak extra nepromýšlel, ale říkal jsem si, že bych to jednoduše přesunul jen do 2D pole a potom spustil záplavu. Asi bych z každé žárovky kontroloval, jestli vedou konce na jiný pól zdroje. Nevím, jestli by to fungovalo.

Nahoru Odpovědět 15.10.2013 19:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Posix
Člen
Avatar
Odpovídá na David Čápka
Posix:

S tou záplavou jsem to zkoušel, ale asi by to nešlo nebo jsem to blbě dělal. Problém by byl v tom, že několik uzlů se může spojit do jednoho a to pomocí toho algoritmu asi nezjistíš. Nebo možná jo, ale to ti nepomůže, protože se sice dostaneš z každého konce na jiný pól zdroje, ale nepoznáš, jestli nastal zkrat. Jinak ten můj kód, jak jsem později zjistil, nefunguje na 100%. Ale šlo by to dodělat, jen jsem prostě neměl čas.

Jinak placku nutně nepotřebuju, ale za nějakou tu značku do profilu (nebo co to tam je) bych se nezlobil :)

Editováno 23.10.2013 14:43
Nahoru Odpovědět 23.10.2013 14:42
Proč to dělat jednoduše, když to jde složitě.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

Oki, tak aplikaci publikuj a my ti přidáme do profilu ocenění :)

Nahoru Odpovědět 27.10.2013 9:38
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 73 zpráv z 73.