Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP-problem] Palindrom
Apticer
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.04.2010

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


Dostałem zadanie które nie za bardzo wiem jak zrobić czy nawet się za to zabrać..

Napisz funkcję, której argumentem jest dowolny tekst. Funkcja zwraca palindrom tekstu w którym
każde słowo jest pisane od dużego znaku.
Plik z funkcją jest wczytywany do kodu HTML z osobnego pliku. Wpisany tekst i palindrom powinny
pojawić się na ekranie.

Wie ktoś może jak się za to zabrać? Jakaś gotowa funkcja?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Daniel Meger
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 30.04.2010
Skąd: PL

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


Cały misz-masz rozgrywa się w funkcji place_spaces(). Jeżeli czegoś nie rozumiesz - pytaj, choć po przeczytaniu manuala dla każdej z funkcji z biblioteki głównej użytej w tym skrypcie, wszystko powinno być jasne.
Musisz sobie to przerobić na funkcję, żeby spełnić warunki zadania.
  1. <pre>
  2. <?php
  3. $dane = "Nogawka jak wagon";
  4. //$dane = "kobyła ma mały bok";
  5.  
  6. // funkcja znajdująca spacje w zdaniu
  7. function find_spaces($string) {
  8. $tablica = Array();
  9. for ($i = 0, $max = strlen($string); $i<$max; $i++) {
  10. if ($string[$i] === ' ') {
  11. $tablica[] = $i;
  12. }
  13. }
  14. return $tablica;
  15. }
  16.  
  17. // funkcja wklejająca spacje w zdanie
  18. function place_spaces($string, $spaces) {
  19. $string = implode('',explode(' ', $string)); // scalanie stringa w jeden
  20.  
  21. $ret = ''; // przygotowanie zmiennej do wyniku
  22. $max = strlen($string);
  23. $j = 0;
  24. for ($i = 0; $i<$max; $i++){
  25. $ret .= $string[$i];
  26. if ($i == $spaces[$j]-($j+1)) { // jeżeli miejsce odpowiada spacji, to wklej spację i zwiększ licznik $j tablicy spacji
  27. $ret .= ' ';
  28. $j++;
  29. }
  30. // echo "$i : $ret <br /> \n"; // wyświetl poszczególne kroki
  31. }
  32. return $ret;
  33. }
  34.  
  35. echo $dane . '<br />';
  36. $spaces = find_spaces($dane);
  37. $dane = strrev($dane);
  38. /*
  39.   echo 'Spacje na miejscach:<br />';
  40.   print_r($spaces);
  41.  */
  42. echo $dane . '<br />';
  43. $dane = place_spaces($dane,$spaces);
  44. echo $dane . '<br />';
  45. $dane = strtolower($dane);
  46. echo $dane . '<br />';
  47. $dane = ucwords($dane);
  48. echo $dane . '<br />';
  49.  
  50. ?>
  51. </pre>
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.12.2025 - 11:19