פורסם 2006 באפריל 1719 שנים נתנו לנו מהאוניברסיטה לכתוב תוכנית אשר קוראת מילה מהמשתמש עד '\n'ומדפיסה רק את האותיות הנמצאות בסדר לקסיקוגרפי בין האות הראשונה לאחרונה. אם האות הראשונה זהה לאחרונה או אחריה בסדר הלקסיקוגרפי לא להדפיס כלום.עכשיו היא צריכה להיות רקורסיבית ואסור להשתמש במערכים או במחרוזות.מישו יכול לתת לי כיוון איך להתחיל בבקשה
פורסם 2006 באפריל 1719 שנים מזה סדר לקסיקוגרפי בכלל? ??? ואתה מודע לכך שאם אתה קורא מילה מהמשתמש כבר השתמשת במחרוזת?
פורסם 2006 באפריל 1719 שנים #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 ככה שזה לא משנה אם האות שנקלטת היא גדולה או קטנה.
פורסם 2006 באפריל 1719 שנים מחבר תודה על העזרה אני רואה שיש אנשים טובים בפורום אבל יש לך טעות התוכנית צריכה להדפיס את האותיות שגדולות מהאות הראשונה וקטנות מהאות האחרונה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.