Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z dwiema pętlami for
Raz0r
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 1.02.2009

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


Mam mały kłopot... Zrobiłem dwie pętelki:

Kod
for($i=0;$i<=4;$i++) {
echo $i."<br />";
}

echo "<br />";

for($x=2;$x<=6;$x++) {
echo $x."<br />";
}


Pierwsza printuje:

Kod
0
1
2
3
4


Druga:

Kod
2
3
4
5
6


Ale teraz muszę pomnożyc wyniki pierwszej pętli przez jej odpowiedniki w drugiej pętli czyli:

Kod
0 * 2
1 * 3
2 * 4
3 * 5
4 * 6


Jakaś wskazówka?
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Jedna pętla, dwie zmienne, w pętli mnożysz


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Można tak da to co chciałes
  1. <?php
  2. $tab1 = range(0,4);
  3. $tab2 = range(2,6);
  4. $wynik = array_combine($tab1, $tab2);
  5.  
  6. while (list ($klucz, $wartosc) = each ($wynik)) {
  7. echo $klucz * $wartosc.'<br>';
  8. }
  9. ?>


Ten post edytował kefirek 26.03.2009, 19:09:57
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #4





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


  1. <?php
  2. for($i=0, $j=2; $i<4, $j<6; $i++, $j++)
  3. {
  4. echo $i*$j."<br>";
  5. }
  6. ?>


Ten post edytował artur_dziocha 26.03.2009, 19:10:01
Go to the top of the page
+Quote Post
Spawnm
post
Post #5





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(Raz0r @ 26.03.2009, 18:49:38 ) *
Jakaś wskazówka?


Można wiedzieć po co dajecie gotowce, jeśli Raz0r prosi o wskazówkę ?
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #6





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Żeby zarobić pomógłsmile.gif(Żart)

EDIT ~ od czasu do czasu można też podać przykład/rozwiązanie

Ten post edytował artur_dziocha 26.03.2009, 19:19:51
Go to the top of the page
+Quote Post
kamil4u
post
Post #7





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


@kefirek: Twój sposób jest IHMO zły - lepiej to zrobić z pętlą for, po co komplikować?

Ten post edytował kamil4u 26.03.2009, 19:18:48


--------------------
Go to the top of the page
+Quote Post
Raz0r
post
Post #8





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 1.02.2009

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


Hmm... żadna z odpowiedzi nie pasuje do mojego przykładu... Dobra, to może ja przedstawie co ja właściwie tworze...
Muszę napisał program który będzie zamieniał liczby z systemu dziesiętnego na binarny... Wiem, że jest do tego funkcja "decbin()", ale nie chodzi tutaj o użycie gotowej funkcji tylko o przedstawienie problemu w matematyczny sposób (nienawidze matmy)

KOD:

Kod
$first = $_POST['first'];

  for($potega=(strlen($first)-1); $potega>=0; $potega--) {

     $pow[$potega] = pow(2,$potega);

     echo "Potega:".$pow[$potega];
     echo "<br >";
    }

  for($i=0;$i<strlen($first);$i++){
     $cyfra[$i]=substr($first, $i, 1);

    }

  for($x=0;$x<count($cyfra);$x++){
     echo "Fraza: ".$cyfra[$x];
     echo "<br>";
    }


Chodzi o to, żeby wykonac końcowe działanie, pomnożyc każdy wynik z tablicy $pow[potega] z odpowiadajacemu mu wynikowi z tablicy $cyfra[$x] i dodac je do siebie...

Jeśli ktoś nie przeliczał nigdy pisemnie z binarnego na dziesietny:

Kod
1011 = 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 = 1 + 2 + 0 + 8 = 11


Ten post edytował Raz0r 26.03.2009, 19:27:06
Go to the top of the page
+Quote Post
kamil4u
post
Post #9





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Pseudo kod - tak chyba będzie lepiej i szybciej:
  1. <?
  2. $wynik = 0
  3. for(od 0 do iloxci cyfr w liczbie binarnej) //'numer' potęgi
  4. $wynik += (wyciagniecie z liczby binarnej cyfry wzgledem liczby z petli liczac od konca)*2^ (liczba z petli);
  5. ?>


Ten post edytował kamil4u 26.03.2009, 19:59:19


--------------------
Go to the top of the page
+Quote Post
seba_bwo
post
Post #10





Grupa: Zarejestrowani
Postów: 17
Pomógł: 3
Dołączył: 7.03.2009

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


Kod
$kod='1101';
$wynik=0;
$dl=strlen($kod);
for($i=0; $i<$dl; $i++)
{
    if($kod[$i])
    {
        $wynik+=pow(2,(($dl-$i)-1));
    }
}
echo $wynik


Może być takie coś?

Ten post edytował seba_bwo 29.03.2009, 19:49:43
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: 21.08.2025 - 18:21