Zadejte hledaný výraz...

C++ problém s intervaly

Daniel Rusz
verified
rating uzivatele
(4 hodnocení)
30. 12. 2015 19:31:31
Ahoj. Je zde někdo, kdo je zběhlý v C++ ? Řeším takový problém.
Mám soubor data.txt, který obsahuje hromadu intervalů zapsaných stylem
2 5
6 8
11 15
apod. No a já otevřu tenhle soubor fstreamem. Následně načtu první číslo souboru do proměnných a1 b1. A pak whilem projíždím soubor, řádek po řádku a vždy uložím ten nový interval do a2 b2 a porovnávám ho s A1 B1. Čili v případě intervalů <2 5> a <6 8> vytvořím jeden velký interval <2 8>, kterým jakoby na výstupu nahradím tyhle dva. Ale pak načtu ten třetí <11 15> a s A1B1 jej nemám jak spojit. Čili sjednotím ty dva intervaly a mám tedy výsledek <2 8> <11 15>. Ale nyní, jakmile načtu další řádek, na kterém bude nějaký další interval, potřebuju jej již porovnávat s oběma těmito intervaly a případně je upravit.
Co potřebuji vědět. Jak mám porovnávat nově načtený interval s těmi, které již mám ? Nemůžu je ukládat do zvlášť proměnných, protože intervalů v souboru může být několik tisíc a já tak dopředu nevím, kolik jich budu celkem potřebovat. Děkuji.
30. 12. 2015 19:31:31
https://webtrh.cz/diskuse/c-problem-s-intervaly#reply1161887
qye
verified
rating uzivatele
(16 hodnocení)
30. 12. 2015 19:46:10
Načíst všechny, seřadit vzestupně podle první hodnoty, projít všechny a když se překrývají, tak sloučit. Výsledek ukládat do další proměnný. Na google si najít jak se pracuje s dynamicky alokovaným polem.
Nebo tohle: http://www.geeksforgeeks.org/merging-intervals/
30. 12. 2015 19:46:10
https://webtrh.cz/diskuse/c-problem-s-intervaly#reply1161886
Daniel Rusz
verified
rating uzivatele
(4 hodnocení)
30. 12. 2015 20:17:24
Super. Něco takového jsem potřeboval najít. Děkuju.
30. 12. 2015 20:17:24
https://webtrh.cz/diskuse/c-problem-s-intervaly#reply1161885
Pro odpověď se přihlašte.
Přihlásit