Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> szukanie wyrazu posiadajacego dane litery, slownik scrabble
bercow
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 11
Dołączył: 25.12.2005

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


Mamy tablice $slowo (na koncu bedzie pewnie duuuuzo wieksza, i jakies wprowadzone litery $litery, jak znalesc wszystkie slowa ktore mozna ulozyc z podanych liter, w tej chwili dostaje 'jak nizej', nie wiem czemu czesc pomija
  1. katarek - a
  2. katarek - a
  3. katarek - r
  4. zak - z
  5. zak - a
  6. rak - r
  7. rak - a
  1. <?php
  2.  
  3. $slowo = array ("katarek", "zak", "rak");
  4. $litery = array ("k", "a", "z", "m", "r");
  5.  
  6. for ($j=0;$j<count($slowo);$j++) {
  7. $litera = $slowo[$j];
  8.  
  9. for ($i=0;$i <= strlen($litera);$i++) {
  10. $key = array_search($litera[$i], $litery);
  11. if ($key == TRUE) {
  12. echo $slowo[$j]." - ".$litera[$i]."<br />";
  13. }
  14. }
  15. }
  16. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


pisane na szybko ale powinno działać (trochę testowałem (IMG:style_emoticons/default/smile.gif) ):

  1. $slowa = array (
  2. 'katarek',
  3. 'zak',
  4. 'rak'
  5. );
  6.  
  7. $litery = array (
  8. "k",
  9. "a",
  10. "z",
  11. "m",
  12. "r"
  13. );
  14.  
  15. function checkWord($word,$letters){
  16.  
  17. $lettersInWord=str_split($word);
  18.  
  19. if (count($lettersInWord)>count($letters)){
  20. return false;
  21. }
  22.  
  23. foreach ($lettersInWord as $key=>$letter){
  24.  
  25. $found=false;
  26. $found=array_search($letter,$letters);
  27.  
  28. if ($found===false){
  29. return false;
  30. }
  31.  
  32. unset($letters[$found]);
  33.  
  34. }
  35.  
  36. return true;
  37.  
  38. }
  39.  
  40. if (!checkWord($slowa[2],$litery)){
  41. echo "nie da się";
  42. } else{
  43. echo "da się";
  44. }


Go to the top of the page
+Quote Post

Posty w temacie


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: 26.09.2025 - 08:47