Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zadanie php
hipiz
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.12.2012

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


Witam,
jest to mój pierwszy post na forum więc z góry przepraszam jeśli popełnię jakieś błędy.
Dopiero zaczynam naukę php w szkole, dostałem zadanie do wykonania i potrzebuje pomocy.

Napisać funkcję o nazwie ZamienLiczbyJesliTrzeba (o 2 parametrach: $liczba1, $liczba2), która
zamienia między sobą wartości parametrów $liczba1 i $liczba2, jeśli tylko $liczba1 jest większa od
$liczba2.

napisałem coś takiego i nie mam zielonego pojęcia co kryje się pod sformułowaniem "zmienia między sobą wartości parametrów"

  1. <?php
  2.  
  3. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  4.  
  5. if ($liczba1 > $liczba2) {
  6. $liczba1
  7. //no i nie wiem co tu wstawić
  8. }
  9.  
  10. }
  11.  
  12. ZamienLiczbyJesliTrzeba (200, 100);
  13.  
  14. ?>
  15.  



Z góry dziękuję za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
tomczyk
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 7.02.2011

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


  1. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  2.  
  3. if ($liczba1 > $liczba2) {
  4. $liczba1=$liczba2;
  5.  
  6. }
  7.  
  8. }


Jeżeli $liczba1 będzie większa od $liczba2 to wartość $liczba2 jest wpisywana do $liczba1

Lub jak wolisz:

  1. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  2.  
  3. if ($liczba1 > $liczba2) {
  4. $liczba1=$x;
  5. $liczba1=$liczba2;
  6. $liczba2=$x;
  7.  
  8. }
  9.  
  10. }


W tym wypadku po prostu wartości zostaną zamienione
Go to the top of the page
+Quote Post
Damonsson
post
Post #3





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Może chce sprawdzić, jak zamienicie między sobą wartości zmiennych?

Czyli np. coś takiego
  1. list($liczba2, $liczba1) = array($liczba1, $liczba2);
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(tomczyk @ 4.12.2012, 01:29:43 ) *
  1. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  2.  
  3. if ($liczba1 > $liczba2) {
  4. $liczba1=$x;
  5. $liczba1=$liczba2;
  6. $liczba2=$x;
  7.  
  8. }
  9.  
  10. }


Ten sposób jest ok, pod warunkiem, że w definicji funkcji doda się referencje, bo przecież nie spowoduje to faktycznej zamiany wartości zmiennych, a jedynie zamianę lokalną wewnątrz funkcji. Tak więc:

  1. function ZamienLiczbyJesliTrzeba (&$liczba1, &$liczba2)


a reszta jest ok.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
hipiz
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.12.2012

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


Dziękuję za pomoc, ale teraz wywala błąd i $liczba1 przejmuje wartość a $liczba2 zostaje bez wartości.
  1. <?php
  2.  
  3. ZamienLiczbyJesliTrzeba (200, 100);
  4.  
  5. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  6.  
  7. if ($liczba1 > $liczba2) {
  8. $liczba1 = $x;
  9. $liczba1 = $liczba2;
  10. $liczba2 = $x;
  11.  
  12. echo "$liczba2" . "<br />";
  13. echo "$liczba1";
  14. }
  15.  
  16. }
  17.  
  18. ?>


A może zrobić tak. Tyle że też mi błąd wyskakuje.

  1. <?php
  2.  
  3. ZamienLiczbyJesliTrzeba (200, 100);
  4.  
  5. function ZamienLiczbyJesliTrzeba ($liczba1, $liczba2) {
  6.  
  7. if ($liczba1 > $liczba2) {
  8. $liczba1 = $x;
  9. $liczba2 = $y;
  10. $x = $liczba2;
  11. $y = $liczba1;
  12.  
  13. echo "$liczba2" . "<br />";
  14. echo "$liczba1";
  15. }
  16.  
  17. }
  18.  
  19. ?>

Notice: Undefined variable: x in C:\xampp-portable\htdocs\_zadania\index.php on line 8
Notice: Undefined variable: y in C:\xampp-portable\htdocs\_zadania\index.php on line 9
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo w tym kodzie:
  1. if ($liczba1 > $liczba2) {
  2.  
  3. $liczba1=$x;
  4.  
  5. $liczba1=$liczba2;
  6.  
  7. $liczba2=$x;
  8.  
  9.  
  10.  
  11. }

jest literówka...
nie: $liczba1=$x;
a: $x = $liczba1;

Jeden się pomylił, drugi bezmyślnie skopiował


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 21:18