Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generator wyrazów ze znaków
Sexee
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 31.03.2012

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


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)

Ten post edytował drPayton 7.09.2012, 13:20:53
Go to the top of the page
+Quote Post
droslaw
post
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

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


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.

Ten post edytował droslaw 7.09.2012, 17:16:27
Go to the top of the page
+Quote Post
mrWodoo
post
Post #4





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


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. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 13:04