צריך עזרה ביצירת פעולה רקורסיבית בC# - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

צריך עזרה ביצירת פעולה רקורסיבית בC#


raiman1

Recommended Posts

הפעולה קולטת מספר שלם X, ומדפיסה משולש של כוכביות ובו X שורות. בשורה הראשונה תהיה כוכבית אחת , אח"כ 2 וכו'.

למשל עבור הקלט 4 יודפס:

*

**

***

****

זה הפעולה שאני עשיתי:

public static string stars(int num)
{
return starshelp(num, num);
}
public static string starshelp(int num,int num2)
{
if (num == 0)
return "";
else for (int i = 0; i < num2 + 1 - num; i++)
{
Console.Write("*");
}
Console.WriteLine("");
return starshelp(num - 1,num2);
}

הפעולה הזאת עובדת כמו שצריך , אבל יש בעיה אחת בתרגיל אמור לכתוב פעולה אחת ואני כתבתי 2(כתבתי גם "פעולת מעטפת " כדי שהמשתמש לא יצטרך להכניס את המספר פעמיים).

יש דרך אחרת לפתור את זה מבלי להשתמש בפעולת מעטפת??

תודה מראש

קישור לתוכן
שתף באתרים אחרים

השורה מוסיפה ירידת שורה.

שים לב שהתוכנית שכתבת מקודם יש בה בעייה קטנה - היא תמיד מחזירה "" (מחרוזת ריקה).

אז או שאתה מחזיר מחרוזת שהיא התוצאה של מה שרצית או שתעשה פונקצייה שמחזירה void ותדפיס.

קישור לתוכן
שתף באתרים אחרים

יש לי עוד תרגיל אחד שאני לא מצליח... הפעם הפעולה אמורה להחזיר עבור הקלט 3 :

***

**

*

**

***

אין לי מושג איך אני אמור לעשות את זה :nixweiss: :nixweiss:

אני אודה לך אם תוכל להדריך אותי כיצד להגיע לפתרון.

קישור לתוכן
שתף באתרים אחרים

התרגיל השני יותר קלאסי מבחינת רקורסיה. שים לב שאחרי הקריאה הרקורסיבית המטודה ממשיכה הלאה.

בדגמא שניתנה לך כאן כביכול מתבצע רק מה שאחרי הקריאה הרקורסיבית. תוסיף הדפסת כוכביות לפניה.

קישור לתוכן
שתף באתרים אחרים

תקרא לי מטומטם(והרבה כבר קראו לי ככה אז אל תתבייש...) אבל לא הצלחתי להבין את הפעולה הזאת...

דבר נוסף : חזרתי לתרגיל הראשון ושמתי לב שיש לי איזושי טעות בהבנת הפעולה אבל אני לא יודע איפה היא.

ניסתי להציב 2 וזה(התמונה) מה שיצא לי... איפה הטעות שלי??

[attachment deleted by admin]

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...