Cześć!
Jestem na pierwszym roku studiów i dostaliśmy zadanie na obiektówce, żeby stworzyć program, który będzie pobierał za każdym razem jakiś nowy przedział czasowy (od, do -> czyli podajemy dwie daty) i tylko przysłowiowo odczytywał spod tego czasu jakieś pliki. Potrzebujemy zapisywać te przedziały, żeby później podając kolejne, wiedzieć co już się pojawiło. No i przy podawaniu trzeba porównywać te przedziały w taki sposób, że jeśli jakiś okres czasu z nowo podanego przedziału już wcześniej podaliśmy to dla optymalizacji nie wczytujemy plików spod tego fragmentu czasu który się powtarza, tylko bierzemy fragmenty czasu gdzie pliki wcześniej nie były załadowane. Tutaj przykład jak to powinno wyglądać po wypisaniu w konsoli
Tutaj rozpisałem sobie różne przypadki:
- kiedy nowe przedziały czasowe zawierają się częściowo we wcześniejszych
- kiedy nowe przedziały czasowe NIE zawierają się we wcześniejszych
- i kiedy nowe przedziały czasowe nakładają się w całości na te wcześniejsze
Przy każdym przejściu wypisujemy
- jakie przedziały już wcześniej były
- jakie musieliśmy załadować
- i jakie ostatecznie uzyskaliśmy i przechowujemy (te przedziały będziemy porównywać z następnym przejściem)
Macie jakieś rady, podpowiedzi? Właśnie zaczyna się majówka, chce to jak najszybciej ogarnąć :/
// Czy da się brać całą date na raz i porównywać ją mniejsze/większe od jakiejś daty?
W sensie czy np. gdy nowy przedział nachodzi na stary, to czy da się wziąć DATA 3 i jeśli większe > od DATA 1 i mniejsze < od DATA 2
później wziąć DATA 4 i jeśli większe > od DATA 1 i mniejsze < od DATA 2 ------> to wtedy wiadomo że drugi przedział zawiera się w pierwszym,
więc nie musimy wczytywać żadnych plików spod podanej właśnie daty, bo już wcześniej taka data była podana i pliki zostały wczytane