נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: עזרה ברקורסיה

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
מיואש
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 June 2007 בשעה 18:53 | IP רשוּם
ציטוט מיואש

שלום לכולם

אשמח אם תעזרו לי בבקשה

אני צריך לממש פונק רקורסיבית שתקבל פראמטר  שהוא כפולה של 2(2,4,8,16,32) ועל פיו להדפיס את הפלט הבא:                 &nbs p;                   &nbs p;                   &nbs p;      

*

*  *

    *

n=2

*

*  *

    *

*  *  *  *

        *

        *  *

            *

n=4

 

*

*  *

    *

*  *  *  *

        *

        *  *

            *

*  *  *  *  *  *  *  *

                *

                *  *

                    *

                *  *  *  *

                        *

                        *  *

                             *

 n=8

 

חזרה לתחילת העמוד הצג את כרטיס החבר של מיואש חפש הודעות אחרות של מיואש בקר בדף הבית של מיואש
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 01 June 2007 בשעה 20:52 | IP רשוּם
ציטוט Fate

1. אם N זה אחד, צייר כוכבית אחת
2. אחרת
2.1 קרא לפונקצייה עצמה עם n/2
2.2 צייר קו כוכביות בגודל n
2.3 קרא לפונקצייה עצמה עם n/2

זה בערך אמור לצייר את זה, חוץ מהרווחים,
אני חושב שתבין לבד איך להוסיף רווחים, לא?
חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 
מיואש
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 June 2007 בשעה 21:23 | IP רשוּם
ציטוט מיואש

הבסיס שלי הוא N=2

כל הבעייה שלי היא עם הרווחים

תודה רבה רבה לכל מי שינסה לעזור

 

חזרה לתחילת העמוד הצג את כרטיס החבר של מיואש חפש הודעות אחרות של מיואש בקר בדף הבית של מיואש
 
מיואש
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 June 2007 בשעה 21:42 | IP רשוּם
ציטוט מיואש

זו התוכנית שלי כרגע

הפלט לא תקין

אין רווחים.הבעייה נראה לי בקריאה השנייה לפונ הרקורסיבית שהיא לא עושה רווחים בבקשה עזרה

#

קוד:
include <stdio.h>

void printstar(int);

void printstar(int n) {

int i;

if (n==1) printf("*\n");

else {

printstar (n/2);

for (i=0;i<n;i++) {

printf("* ");

}

printf("\n");

printstar(n/2);

}

}

void main () {

int a;

printf("enter num\n");

scanf("%d",&a);

printstar(a);

}

חזרה לתחילת העמוד הצג את כרטיס החבר של מיואש חפש הודעות אחרות של מיואש בקר בדף הבית של מיואש
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 01 June 2007 בשעה 23:42 | IP רשוּם
ציטוט Fate

פשוט מוסיפים משתנה שלישי שהוא הרווחים....
ועדיף לך בסיס שהוא 1 ולא 2..
קוד:

void stars(spaces,n) {
if (n==1) {
print_line(spaces,n)
} else {
stars(spaces,n/2)
print_line(spaces,n)
stars(spaces + n/2,n/2)
}
}

זה בערך איך שזה אמור להראות לפי דעתי...
חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 
מיואש
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 June 2007 בשעה 23:59 | IP רשוּם
ציטוט מיואש

מה ההגדרה של הפונק print_line(spaces,n)?
חזרה לתחילת העמוד הצג את כרטיס החבר של מיואש חפש הודעות אחרות של מיואש בקר בדף הבית של מיואש
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 02 June 2007 בשעה 02:14 | IP רשוּם
ציטוט Fate

חשבתי שזה די ברור, אבל אם לא, אז
קוד:

void print_line(int spaces,int n)
{
int i;
for (i=0;i < spaces;++i) printf(" ");
for (i=0;i < n;++i) printf("*");
printf("\n");
}

חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה