pvw Napisano Lipiec 11, 2008 Zgłoszenie Share Napisano Lipiec 11, 2008 hello #wrzucenie wszystkich tablic do jednej tablicy for($s = 0; $s < $line_counter; $s++) { $dane[0] = { $Kod[$s] }; $dane[1] = { $Kampania[$s] }; $dane[2] = { $Rachunek_CIF[$s] }; $dane[3] = { $Telefon[$s] }; } czy ktos nmoze podpowiedzic jak wypisac teraz te wszystkie dane z tablicy @dane ? i jeszcze potrzebuje posortowac ta tablice po kolumnie $Rachunek_CIF tak aby oczywiscie byly uwzglednione pozostale kolumny podczas sortowania. bede wdzieczny za podpowiedz Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Lipiec 11, 2008 Zgłoszenie Share Napisano Lipiec 11, 2008 Najpierw powiedz łaskawie co to za język, bo z tego, że chyba Per, nie wynika, że na pewno Perl. Dalej: zauważ, że trzymasz swoją strukturę w polach zewnętrznej tablicy ,,kolumnami'', zaś sortować chcesz ,,wierszami''. To w praktyce wyklucza użycie bibliotecznego sortowania, bo zmusza do osobnej zamiany w każdym polu. Można, ale po co? Po trzecie, jak już uporządkujesz strukturę, tak by jej elementy odpowiadały sortowanym rekordami, przeczytaj podręcznik systemowego sorta i przykłady do sortowania wg kluczy. Mam nadzieję, że nie odrobiłem za Ciebie pracy. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mikolajs Napisano Lipiec 14, 2008 Zgłoszenie Share Napisano Lipiec 14, 2008 Nie programuje na codzień w Perlu, ale IMHO lepiej chyba byłoby skorzystać z wbudowanej plikowej bazy danych perla. W podanym przykładzie dane w "@dane" są stale nadpisywane i cały czas masz płaską tablicę. Perl nie ma jako takich tablic wielowymiarowych. Można je stworzyć korzystając z referencji np $tablica1[0] = /@tablica2. Sięga się do niej np. $tablica1[0][0] tylko nie można używać cały czas @tablica2 do dopisywania nowych rekordów bo nie wstawiana jest kopia tylko referencja. Wydaje mi się że powinieneś połączyć w jeden ciąg oddzielając dane np znakiem ; lub :: i później odczytywać korzystając z funkcji split. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się