Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z definicja funkcji
Forum PHP.pl > Forum > Przedszkole
Wojtek_W
Mam problem z definicja funkcji sprawdzajacej najwiekszy wspolny podzielnik dwoch liczb. Deklarujac funkcje wprowadzam zmienne lokalne, ktore jednak okazuja sie globalne sad.gif Czy ktos moglby pomoc mi poradzic sobie z tym problemem? Oto skrypt tego programu:

[php]
<html>
<head>
<meta http-equiv="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<title>NWD</TITLE>
</HEAD>
<body>
<?php
function nwd($a, $b) {
//funkcja znajduje największy wspólny podzielnik liczb
// a i b stosując odmianę algorytmu Euklidesa.
$a = 36 ; //wartosc lokalna $a i $b
$b = 9 ;
while ($a != $b) {
if ($a<$b) {
$pom = $a ; $a = $b ; $b = $pom ;
}
$a = $a - $b ;
}
print ($a) ;
}
$a = 32; $b = 8 ; // wartosc globalna $a i $b
print ("Największy wspólny podzielnik liczb $a i $b to: ");
print nwd($a, $b);
?>
</BODY>
</HTML>
nospor
w deklaracji funkcji uzywasz $a i $b a potem zaraz te zmienne wewnątrz funkcji nadpisujesz? Co chciales przez to osiągnąć?
Krotko rzecz mowiąc: bez sensu.

1) nie wstawiaj kodu html, jesli nam do szczescia nie jest potrzebny
2) popraw bbcode!!!
Cysiaczek
Wszystko jest w porządku - algorytm działa dobrze, a problem pojawia się gdzie indziej. Otóż wypisujesz największy wspólny podzielnik dwóch liczb 32 i 8, natomiast funkcja pracuje na innych wartośaciach (36 i 9).
Wojtek_W
Racja! Usunalem wartosci $a i $b w deklaracji funkcji i wszystko dziala poprawnie smile.gif Dzieki za pomoc
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.