Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] rozbijanie liczby na godziny
szybki
post 13.06.2018, 08:02:34
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


  1. $max = 1500;
  2. $hour = [8,9,10,11,12,13,14,15,16,17,18,19,20,21,22];


Jak zrobić, aby każda godzina miała losową wartość, ale tak, aby razem nie przekraczały liczby maksymalnej?
Go to the top of the page
+Quote Post
olszam
post 13.06.2018, 08:46:07
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


może tak

  1. for($i=0; $i<15;$i++){
  2. $hour[$i] =[8+$i,rand(0,1500)];
  3. }


Go to the top of the page
+Quote Post
mmmmmmm
post 13.06.2018, 09:08:44
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. $i=-1;
  2. $count=count($hour);
  3. $l=[];
  4. foreach($hour as $h)
  5. {
  6. $l[]=rand(1, $max - array_sum($l) -($count - $i++));
  7. }
Go to the top of the page
+Quote Post
szybki
post 13.06.2018, 09:26:45
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


@olszam - jest problem, ponieważ suma tych wartości nie jest równa 1500
Go to the top of the page
+Quote Post
Pyton_000
post 13.06.2018, 11:27:48
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Cytat(szybki @ 13.06.2018, 09:02:34 ) *
Jak zrobić, aby każda godzina miała losową wartość, ale tak, aby razem nie przekraczały liczby maksymalnej?

Więc naucz się formułować pytania.

Ten post edytował Pyton_000 13.06.2018, 11:28:03
Go to the top of the page
+Quote Post
mmmmmmm
post 13.06.2018, 11:55:17
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Przepraszam, że zrozumiałem..
Go to the top of the page
+Quote Post
szybki
post 13.06.2018, 14:07:20
Post #7





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Żle napisałem, chodzi o to aby wartości w tablicy dla danej godziny nie przekraczały maksymalnej wartości, ale jednocześnie wszystkie godziny były jej sumą
Go to the top of the page
+Quote Post
nospor
post 13.06.2018, 14:09:11
Post #8





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Cytat
nie przekraczały maksymalnej wartości, ale jednocześnie wszystkie godziny były jej sumą

Nie tworz zbednych warunkow bo tylko zaciemniasz opis i nawet mmmmmmm ktory byl pewien ze zrozumial okazuje sie ze nie zrozumial wink.gif
Skoro godziny maja byc suma maksymalnej wartosci to logiczne ze zadna z nich nie moze byc od niej wieksza...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mmmmmmm
post 14.06.2018, 07:41:17
Post #9





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


@nospor - mylisz się. Zrozumiałem dokładnie, tak jak było napisane pierwotnie. Czyli "tak, aby razem nie przekraczały liczby maksymalnej".
Mój kod to spełnia. Po dojściu warunku dodatkowego "jednocześnie wszystkie godziny były jej sumą", wystarczy niewielka zmiana w kodzie, by ostatni element był różnicą.
Go to the top of the page
+Quote Post
nospor
post 14.06.2018, 08:59:22
Post #10





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




@mmmmmm napisales po poscie:
"jest problem, ponieważ suma tych wartości nie jest równa 1500"
ze zrozumiales a nadal sie odnosiles do pierwszego posta mimo ze w kolejnym byl UPDATE wink.gif

Ja rozumiem ze twoj post kod byl odpowiedzia na pierwszy post. Chodzi o kolejne posty autora i twoj.
Ale nie zrozum mnie zle. Ja naprawde nie mialem na mysli nic zlego wspominajac o tobie. Ot chcialem pokazac autorowi jak bardzo miesza i ludzie podaja rozwiazania nie na to co chcial


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 19:30