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

זקוק לעזרה בכתיבת תוכנית ע"י רקורסיה


deangefen

Recommended Posts

נתנו לנו מהאוניברסיטה לכתוב תוכנית אשר קוראת מילה מהמשתמש עד '\n'

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

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

עכשיו היא צריכה להיות רקורסיבית ואסור להשתמש במערכים או במחרוזות.

מישו יכול לתת לי כיוון איך להתחיל בבקשה

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

#include <stdio.h>
#include <ctype.h>

char Do(char first)
{
char c,next;

if(((c = getchar()) == '\n') || ((next = Do(first)) == '\n'))
return c;

c = tolower(c);
next = tolower(next);
if (c> first && c<next)
printf("%c",c);

return next;
}

void main(void)
{
char c;
if ((c = getchar()) != '\n')
Do(c);
}

הרצתי את זה עם כמה דוגמאות וזה עבד טוב.

בעיקרון הפונקציה עובדת כך שהערך המוחזר בסוף, לאחר שנקלט \n הוא התו האחרון במילה.

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

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

ארכיון

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

×
  • צור חדש...