Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z dwiema pętlami for
Forum PHP.pl > Forum > Przedszkole
Raz0r
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?
blooregard
Jedna pętla, dwie zmienne, w pętli mnożysz
kefirek
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. ?>
artur_dziocha
  1. <?php
  2. for($i=0, $j=2; $i<4, $j<6; $i++, $j++)
  3. {
  4. echo $i*$j."<br>";
  5. }
  6. ?>
Spawnm
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ę ?
artur_dziocha
Żeby zarobić pomógłsmile.gif(Żart)

EDIT ~ od czasu do czasu można też podać przykład/rozwiązanie
kamil4u
@kefirek: Twój sposób jest IHMO zły - lepiej to zrobić z pętlą for, po co komplikować?
Raz0r
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
kamil4u
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. ?>
seba_bwo
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ś?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.