Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generator wyrazów ze znaków
Forum PHP.pl > Forum > PHP
Sexee
Witajcie, prosiłbym o małą pomoc przy kodzie nie wiem otoz jak to zrobic

"tablica" - a wniej [a], [b] [c] i z tych trzech znaków generujemy

abc
cba
ccc
aaa
bbb
acb
itd.

Mile widziana gotowa wklejka.

Pozdrawiam i dziękuję za pomoc.
drPayton
Po gotowce udaj się do innego działu.

A najszybciej będzie odpalić google i wpisać: php permutacje z powtórzeniami

edit: Co do rozwiązania, to najprostszą metodą jest zrobienie 3 zagnieżdżonych pętli for jadących po tej tablicy, z licznikami i,j,k i wrzucanie do tablicy wynikowej array(i,j,k)
droslaw
Zagnieżdzone pętle to dużo kodu i mało elastyczne rozwiązanie.
- Wystarczy jedna pętla o takiej ilości przebiegów, jaką chcesz mieć długość losowego napisu.
- W każdym przebiegu losujesz liczbe z zakresu: 0-{długość puli - 1}
- Pobierasz znak o takim indeksie i sklejasz końcowy napis.
mrWodoo
Jedna pętla = powtarzające się dane, zawsze może sprawdzać, czy jest już w tablicy taki tekst, ale jak będzie mieć np abcdefghijk, to tablica będzie OGROMNA i zrobienie tego na jednej pętli jest chyba gorsze, no i tym bardziej, że generowane będą ciągi, które nie zostaną dopisane.

więc [troche psuedo-kodu]

  1. $tablica znakow = array( 0 => 'a', 1 => 'b', 2 => 'c' );
  2. for( $i = 0; $i < dlugosc; $i++ )
  3. {
  4. for( $x = 0; $x < dlugosc; $x++ )
  5. {
  6. echo $tablica znakow[ $i ] . $tablica znakow [ $x ].
  7.  
  8. itd
  9. }
  10. }
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.