• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[PHP] Sklejanie Tablica Dwuwymiarowa

0 głosów
78 wizyt
pytanie zadane 11 stycznia w PHP, Symfony, Zend przez seba316d Użytkownik (500 p.)
edycja 11 stycznia przez seba316d

Siemka wszystkim,

Mam mały problem z napisaniem odpowiednich pętli. Mam taką tablice:

 

Array
(
    [0] => Array
        (
            [0] => A
            [1] => C         tutaj AC AD CD
            [2] => D
        )

    [1] => Array
        (
            [0] => B
            [1] => C     Tutaj BC BE CE
            [2] => E
        )

    [2] => Array
        (
            [0] => A
            [1] => B      Tutaj AB AC AE BC BE CE
            [2] => C
            [3] => E
        )

    [3] => Array
        (
            [0] => B
            [1] => E      Tutaj BE
        )

)



I chce otrzymac tak właśnie posklejane liczby ze sobą, nie mogę sobie poradzić ;/

2 odpowiedzi

0 głosów
odpowiedź 11 stycznia przez CzikaCarry Nałogowiec (43,380 p.)
Wrzuć tą tablicę na pastebin.com wraz z odpowiednimi wcięciami, bo to co wysłałeś jest całkowicie nieczytelne. Po prostu aby pomóc muszę wiedzieć w czym mam pomóc :)
komentarz 11 stycznia przez seba316d Użytkownik (500 p.)
Poprawione wyżej :)
jak cos to tutaj link http://pastebin.com/m8AMfpDT
komentarz 11 stycznia przez CzikaCarry Nałogowiec (43,380 p.)

Hmmm... może lepiej Ci to zwizualizuję:

0 A C D
A AA AC AD
CA CC CD
DA DC DD

jest to tabela ze wszystkimi kombinacjami tych liter. Teraz zwróć uwagę, które komórki tabeli są stworzone z 2 takich samych znaków (zostaną pogrubione wykreślone)

0 A C D
A AA AC AD
C CA CC CD
DA DC DD

Teraz zauważ, że kombinacje które się powtarzają (mają te same znaki tylko w innej kolejności) są w rzędach obok siebie, w kolumnach pod sobą, oraz po przekątnych po przekątnej. Wystarczy wykreślić po jednej kombinacji i masz rezultat


 

komentarz 11 stycznia przez seba316d Użytkownik (500 p.)
Tak tylko że dla mnie ważne jest te pierwsze połączenie AC bo ja je bede musiał wszystkie zliczyć ile jest takich samym
0 głosów
odpowiedź 11 stycznia przez operator Stary wyjadacz (10,680 p.)
edycja 11 stycznia przez operator
Definiuje tablicę wielowymiarową B o długości m.

Dla k = 0, 1, 2, ..., m-1

Dalej dla

Definiuje tablice jednowymiarową A będąca elementem B, długość tablicy A n. Dla i = 0, 1, ..., n-2 dajej dla j = i+1, i+2, ..., n-1 wypisuj B[k][i] + B[k][j].
komentarz 11 stycznia przez seba316d Użytkownik (500 p.)
Definiowac tablicy nie potrzeba bo moge zapisac to sobie do zmiennej $zmienna.=$tab[k][i].$tab[k][j] . ";" ; i wtedy juz explode i mam tablice zrobiona ale nie za bardzo widze turaj koncepcje na zrobienie petel
komentarz 11 stycznia przez operator Stary wyjadacz (10,680 p.)
Masz tablicę wielowymiarową zawierającą inne tablice. Ja po prostu je ponazywałem. To co napisałem to definicja fora w forze.
komentarz 11 stycznia przez operator Stary wyjadacz (10,680 p.)
Były mały błąd po wypisuj. Poprawiłem.
komentarz 11 stycznia przez seba316d Użytkownik (500 p.)
Czyli coś takiego ?
 

$k=count(B[m]-1)

for($i=0; $i<count(B[n]-2); i++)
for($j=0; $j<count(B[n]-1); j++)
komentarz 11 stycznia przez seba316d Użytkownik (500 p.)
edycja 11 stycznia przez seba316d
Ok rozwiązane DZIĘKUJE BARDZO ZA POMOC WSZYSTKIM.

Jak by ktoś potrzebował gotowy kod:

$k=0;
for($l=$k; $l<count($tab1); $l++) {
    for ($i = 0; $i < count($tab1[$k]); $i++) {
        for ($j = $i + 1; $j < count($tab1[$k]); $j++) {
            echo $tab1[$k][$i] . $tab1[$k][$j] . "<br>";
            //echo " k:".$k." i:".$i." k:".$k." j:".$j."<br>";
        }
    }
    $k++;
}

Podobne pytania

0 głosów
1 odpowiedź 57 wizyt
0 głosów
2 odpowiedzi 101 wizyt
pytanie zadane 13 marca w C i C++ przez krzakurts Obywatel (1,340 p.)
0 głosów
1 odpowiedź 78 wizyt
pytanie zadane 21 lutego w JavaScript, jQuery, AJAX przez MTB Początkujący (300 p.)
...