japek
29.09.2006, 09:51:52
Mam plik tekstowy z danymi. Dane są wrzucane do plików przez odpowiedni program.
Są 2 kolumny: w pierwszej podane są godziny z całej doby (co minutę) np: od 12:00 do 11:59
W 2 kolumnie są jakieś dane przypisane konkretnej godzinie np. dla 12:00 jest tam 23.7
Pobieram dane, zapisuje je do tablicy (ale bez godzin), jednak w pliku zdarza się, że dane nie zostały wprowadzone przez jakiś czas, np. przez godzine (brakło prądu) i w pliku zostaje luka (jedna lub więcej linii). Potrzebuje odczytać dane w taki sposób, aby np. w czasie między 12:01 a 14.44 kiedy brak danych, mój program automatycznie wprowadził do tablicy ZERA pomiędzy dane, które istnieją, tak aby wiadomo było, że wtedy była jakaś awaria a dane nie zlewały się.
skowron-line
29.09.2006, 10:04:08
warukniem sprawdzaj czy jest wartosc w tablicy jesli nie ma to dajesz cos np " BUŁGARIA AWARIA"
wipo
29.09.2006, 10:04:50
To jak czytasz plik to możesz to zawrzeć w pętach for i jak nie znajdzie danej z jakiejś godziny to wpisuje domyślnie 0.
japek
29.09.2006, 10:10:39
Ale ja wrzucam do tablicy dane które są, po kolei a właśnie nie wiem jak zrobić aby w miejscu, gdzie występuje przerwa napisać 0. Bo jade pętlą tyle razy ile jest linii z danymi a tu trzeba jeszcze coś wklepać tylko jak to zrobić. Musi sprawdzać date i jeśli coś brakuje to nadpisać utracone minuty/godziny

WIPO, właśnie tylko jak to zrobić :]
wipo
29.09.2006, 10:19:48
Zakładam że masz wszystko w tablicy $tablica w formacie
$tablica["1-1"]=2;
$tablica["1-2"]=5;
itd
Kod
for($h=0;$h<24;$h++){
for($m=0;$m<60;$m++){
if ($tablica[$h.":".$m]!=0){} else $tablica[$h.":".$m]=0;
}
}
japek
29.09.2006, 10:28:31
O dzięki, to mi powinno pomóc