![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 23.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
W C++ nie miałem problemu z wczytaniem liczb z pliku tekstowego zawier. macierz liczb przy pomocy f-kcji fscanf(). W PHP po zastosowaniu tej f_kcji postaci fscanf($fx,"%f",$x) w procedurze: $i=0; while(fscanf($fx,"%f",$x)==1) { od[$i] = $x; $i++;} sczytuje cały wiersz macierzy i koniec !? A co z pozostałymi wierszami ? Użycie drugiej pętli while(!(feof($fx))) { } nic nie dało, a zależy mi aby załą macierz wstawić do tablicy jednowymiarowej od[]. Pozdr.[php][/php] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 23.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
[php][/php]
Dzięki! Ale do tablicy $od wczytuje pierwszy wiersz macierzy i koniec. Macierz ma wymiary 9 x 9. W tym to jest problem. Do tablicy $od mozna wczytac pozostałe wiersze przy pomocy np. $od = file('macierz.txt') gdzie macierz.txt zawiera wspomnianą macierz liczb 9 x 9. Pozd. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
w c++ jakoś zawsze wolałem strumienie od fscanf (a i też tego mało było) zaś w PHP jakoś zawsze wyrażenia regularne... ale...
luknij na manual, funkcja fscanf może Ci wczytać więcej niż jedną linię... a w przykładzie w manualu separowali zmienne białymi znakami i na końcu podali nawet znak nowej linii \n (w windowsie to \r\n)... nie chce mi się sprawdzać przypadków tylko pokazuję, co w oczy kole i porównaj z manualem: fscanf -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 23.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
[php][/php]
Witam! Bez pomocy funkcji fscaf() można wczytać macierz liczbową do tablicy jednowymiarowej. Przykład: Niech plik tekstowy test.txt zawiera następująca macierz liczb: 0 5 7 9 6 8 11 3 4 Separatorem liczb w tym przypadku jest spacja (tylko jedna), może być np ";". I dalej. $fx = './test.txt'; $fy = file($fx); //$fy - tablica 3 elementowa zawierająca wiersze macierzy foreach($fy as $line_num => $line) { $fxy = explode(" ", $line); // $fxy - tablica zawierajaca elementy wiersza macierzy $fz = array_merge($fz,$fxy); // $fz - jenowymiarowa tablica elementów macierz test.txt } $ilosc_elm_macierzy = count($fz); // zamiana łańcucha na liczby for($i = 0; $i < $ilosc_elm_macierz; $i++) { $fz[$i] = (double) $fz[$i]; } Może komuś się przyda to rozwiazanie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:45 |