Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> algo: Moze ktos madrzejszy mi pomoc ? :)
Nookie
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


Witam !
oto moj kolejny problem smile.gif

mamy tablice:
20,000 |71
5,000 |37
800 |74
60 |49
5 |14

Pytanie jak napisac algo, ktory rozbijaloby kwote na poszczegole kwoty czastkowe i wstawial dla nich wartosc z tabeli ?

Przkladowo
majac kwote 25,860
algo rozbijaloby to tak:
20,000 -> 71
5,000 -> 37
800 -> 74
60 -> 38

i potem sumowaloby wszystkie wartosci ktore uzyskalismy, czyli dodajemy i otrszymujemy $szuknawartosc = 71+37+74+38


za pomoc wielkie dzieki..
bo problem mnie "lekko" przerasta
a jedyne na co wymyslilem to sprawdzanie jakiej dlugosci jest string z kwota i potem po koleji przypisywanie 1 wartosci ze stringu, wartosc z tabeli... i dalej po koleji az sie nam skonczy string...
raczej brzydki i nie do konca umem zmusic zeby dzialalo poprawnie...
smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Grzesiek
post
Post #2





Grupa: Zarejestrowani
Postów: 96
Pomógł: 3
Dołączył: 15.04.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Nie wiem czy o to ci chodzi ale możesz to zrobić tak:
[php:1:2686c9124d]<?php
$linie = file("twoj_plik_z_danymi.txt");
foreach($linie as $linia) {
list($klucz, $wartosc) = explode("|", $linia);
$tablica[$klucz] = $wartosc;
}

?>[/php:1:2686c9124d]
teraz masz wszystko w jednej tablicy może to ci troche pomoże?


--------------------
Linux is like wigwam, no windows, no gates and an apache inside.
Mój blog łebmasterski (po angielsku) Web Development Blog.
Go to the top of the page
+Quote Post
Nookie
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


No nie do konca jest to to o co mi chodzi...

wiekszy problem mam z rozbiciem kwoty na poszczegolne skladowe i dla kazdej przypisanie odpowiedniej wartosci z tablicy...

ale dzieki za podpowiedz..
Go to the top of the page
+Quote Post
adwol
post
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Pytanie jak napisac algo, ktory rozbijaloby kwote na poszczegole kwoty czastkowe i wstawial dla nich wartosc z tabeli ?

[php:1:178f4c5627]<?php
$suma = 25860;

$w = array(20000 => 71,
5000 => 37,
800 => 74,
60 => 38,
5 => 14);

$szukanawartosc = 0;
foreach ($w as $k => $v)
for (; $suma >= $k; $suma -= $k, $szukanawartosc += $v);

print "$szukanawartoscn";
?>[/php:1:178f4c5627]
Go to the top of the page
+Quote Post
Nookie
post
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


hmy wiec cos jest nie tak dostaje komunikat:
Cytat
Warning: Invalid argument supplied for foreach() in test.php on line 7
Szukana wartosc: 0  


Wiec niestety funkcja nie dziaal sad.gif
Mam prosbe jak moglbys mi troszeczke objasnic
co dokladnie robi ten zapis:
[php:1:5dcb1a4d74]<?php
foreach ($w as $k => $v)
for (; $suma >= $k; $suma -= $k, $szukanawartosc += $v);

?>[/php:1:5dcb1a4d74]

bo troche przy nim wymiekam smile.gif
a nie chce tylko robic ctrl+c, ctrl+v tylko zrozumiec jak to powinno dzialac...
Go to the top of the page
+Quote Post
adwol
post
Post #6





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Wiec niestety funkcja nie dziaal sad.gif

Działa, działa, a przynajmniej nie sypie takimi komunikatami. Pokaż dokładnie jaki masz kod.
Cytat
Mam prosbe jak moglbys mi troszeczke objasnic
co dokladnie robi ten zapis:
[php:1:640b542d70]<?php
foreach ($w as $k => $v)  
 for (; $suma >= $k; $suma -= $k, $szukanawartosc += $v);
?>[/php:1:640b542d70]

Dla każdego elementu tablicy $w próbuje odejmować od $suma wartość klucza tego elementu tak długo aż nowa wartość $suma będzie od niej mniejsza. Następnie przechodzi do następnego elementu i tak dalej aż wyczerpią się wszystkie elementy. Przy każdym kroku dodaje do $szukanawartosc wartość odpowiadającą poszczególnym składnikom sumy (wartości odpowiadające kluczom).
Go to the top of the page
+Quote Post
Nookie
post
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


sorka

masz racje funkcja dzial swietnie..

poprostu jak wklejalem funkcje to kliknalem cos na klawiaturze..
a ze jestem slepy jak kret... to nie zuwazylem smile.gif


Wielkie dzieki...
bo sam na to bym nie wpadl... smile.gif

a co do tluamczenia bede musail troszke poczytac manuala smile.gif ale chyba do tego dojde smile.gif

dzieki
pozdro
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:26