הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 09-12-08, 15:15   # 1
Labs
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
גיל: 33
הודעות: 1,500
Send a message via Skype™ to Labs

Labs לא מחובר  

באג בפונ'

PHP קוד:
<?
function ck($x,$a,$b,$c,$l=0) {
    if (
$l==$x)
        return 
1;
    if ((
$l+$a)<=$x)
        return 
ck($x,$a,$b,$c,$l+$a);
    if ((
$l+$b)<=$x)
        return 
ck($x,$a,$b,$c,$l+$b);
    if ((
$l+$c)<=$x)
        return 
ck($x,$a,$b,$c,$l+$c);
}
echo 
ck(10,3,7,2);
?>
זה פשוט לא מדפיס כלום...
אשמח להבין למה

זה יכול להיות בגלל הRETURN 1? פשוט ככה היינו עושים בC וזה היה עובד בסדר גמור זה היה פשוט מחבר את ה1ים ביציאה מהרוקרסיה
  Reply With Quote
ישן 09-12-08, 15:21   # 2
Elad-A
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 1,987

Elad-A לא מחובר  

מה אתה מנסה לעשות?
אולי יש דרך פשוטה יותר.
  Reply With Quote
ישן 09-12-08, 15:47   # 3
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 33
הודעות: 2,050

daMn לא מחובר  

כן מאוד יכול להיות שזה בגלל האחד, תעטוף אותו אותו במרכאות ושיהיה סטרינג ואז תנסה.
ד"א למען הסדר הטוב תעבוד עם elseif ובסוף עם else בשביל לדבג.

אם אתה צריך אותו כמספר, אז תעשה if בסוף הפונקציה שאם המשתנה l שווה לאחד תדפיס אותו כסטרינג, כל מספר אחר אני מאמין שידפיס לך בלי בעיה.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote
ישן 10-12-08, 08:33   # 4
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

לרקורסיה שלך פה אני שום משמעות, נגיד והגעת לסוף הרקורסיה, זה פשוט מעביר את ה-1,
אתה לא מחבר פה שום דבר לשום דבר, אז למה שזה יחבר לך את האחדות?

למה זה לא מדפיס? כי באחד השלבים של הרקורסייה אף אחד מהתנאים לא מתקיים,
ולכן הפונקציה לא מחזירה שום דבר, אתה יכול לבדוק ע"י זה שתסים בסוף
return "test"; ותראה.

קוד:
<?php
function ck($x,$a,$b,$c,$l=0) {
    if ($l==$x)
        return 1;
    if (($l+$a)<=$x)
        return ck($x,$a,$b,$c,$l+$a);
    if (($l+$b)<=$x)
        return ck($x,$a,$b,$c,$l+$b);
    if (($l+$c)<=$x)
        return ck($x,$a,$b,$c,$l+$c);
// אם שום דבר לא התקיים
    return "test";
}
var_dump ( ck(10,3,7,2) );
?>
__________________
FreeBSD, a *nix operating system
  Reply With Quote
ישן 10-12-08, 11:53   # 5
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 36
הודעות: 710

vadimg88 לא מחובר  

אני הייתי כותב ככה:

PHP קוד:
<?php
function ck($x$a$b$c$l=0
{
    
$return 0;
    
    if( 
$l == $x )
    {
        
$return += 1;
    }
    else if( (
$l $a) <= $x )
    {
        
$return += ck($x$a$b$c$l+$a);
    }
    else if( (
$l $b ) <= $x )
    {
        
$return += ck($x$a$b$c$l+$b);
    }
    else if( ( 
$l $c ) <= $x )
    {
        
$return += ck($x$a$b$c$l+$c);
    }
    else 
    {
        
// nothing really
    
}
    
    return 
$return;
}
?>
אני לא יודע בידיוק מה זה עושה אבל ככה יהיה נכון לרשום את זה.
  Reply With Quote
ישן 10-12-08, 12:11   # 6
Labs
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
גיל: 33
הודעות: 1,500
Send a message via Skype™ to Labs

Labs לא מחובר  

זה תרגיל כזה
X - מספר מסויים
A B C - מספרים קטנים יותר

צריך לחשב בכמה דרכים אפשר להגיע לX בעזרת חיבור שלושת המספרים האלו
  Reply With Quote
ישן 10-12-08, 14:43   # 7
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 36
הודעות: 710

vadimg88 לא מחובר  

מה שאתה עושה למעלה לא ממש עושה את מה שתיארת עכשיו.
  Reply With Quote
ישן 10-12-08, 16:25   # 8
Labs
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
גיל: 33
הודעות: 1,500
Send a message via Skype™ to Labs

Labs לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
מה שאתה עושה למעלה לא ממש עושה את מה שתיארת עכשיו.
למה לא?
תוכל עלי בבקשה להראות מה כן יעשה את זה?
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 21:12.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ