moses_23 פורסם 2005 באוקטובר 7 Share פורסם 2005 באוקטובר 7 אני למדתי שנה שעברה פסקלעברתי בית ספר ועכשיו אני אמור ללמוד Cאני בכיתה יא'יש למישהו אתר שמשווה בין פסקל ל- C או דרך לימוד מהירה וקלה?אני לא מצליח לקלוט נשום דבר ב- C ויש לי עוד שבועיים מבחן!ועכשיו לשאלה שפתחתי עליה תרדהמורה הביאה לנו בעיה ברקורסיה (מישהו יכול להסביר לי מה זה כי לא ממש הבנתי את ההסברים שלה...)השאלה היא כך:לקלוט מספר ארוך ושלם וליכתוב כמה פונקציות רקורסיות לחישובים הבאים:1. לחשב כמה ספרות יש במספר2. לחשב סכום של ספרות3. כמה ספרות אי זוגיות יש במספר* האנחה:המספר גדול מ-0תודה רבה לעוזרים! קישור לתוכן שתף באתרים אחרים More sharing options...
Boomerang פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 המעבר מפסקל ל- C לא צריך להיות קשה, כמעט כל הדברים שיש בפסקל גם יש ב- C. (חוץ מ- sets, מערכים שמתחילים ב- ordinal type כלשהו ומשפט case נוח)רקורסיה זו פונקציה שבשלב מסוימת קוראת לעצמה.פתרון ברקורסיה מחלק את הבעיה לחלקים קטנים יותר, מצרף את הפתרון של החלקים ובונה מהם את הפיתרון הגדול יותר. (בהתחלה זה נראה קצת מוזר, אבל אח"כ זה הופך למשהו מאוד טבעי).במקרה שלך, שני החלקים של הבעיה הם "הספרה הנוכחית" ו"שאר הספרות".למשל חישוב סכום הספרות יכול להיות פונקציה שלוקחת בתור פרמטרים: סכום הספרות "עד עכשיו", ו"שאר המספר" ומחזירה את סכום הספרות.הפונקציה מוסיפה את הספרה הראשונה של שאר הספרות לסכום הספרות עד עכשיו, מוחקת משאר הספרות את הספרה הראשונה, ומחזירה את הערך שחוזר בקריאה לעצמה, על סכום הספרות החדש, ושאר הספרות אחרי שנמחקה ממנה הספרה הראשונה. קישור לתוכן שתף באתרים אחרים More sharing options...
orlupo פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 ב-C כן יש case. קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 לא צריך את סכום הספרות עד עכשיו. היא פשוט תחזיר את הסכום שהקריאה הרקורסיבית החזירה + הספרה הנוכחית שהיא עובדת עליה. היא תעצור כאשר המספר יהייה 0. כשאתה רוצה לחשב כמה ספרות יש במספר, תחשוב שכל ספרה בו היא 1. קישור לתוכן שתף באתרים אחרים More sharing options...
Boomerang פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 ב-C כן יש case. מה, אתה חייב להתווכח? אמרתי שב- C אין case נוח בפסקל אפשר לתת בתוך case כמה ערכים (אפשר גם ב-C עם כמה caseים אבל זה יותר מסורבל) ואפשר גם לתת טווחים (שבכלל אי אפשר ב- C) מה גם שב- C יש את ה-" feature" המוזר של ה- falltrough במקרה שבו אין break הקוד פשוט ממשיך ל- case הבא. קישור לתוכן שתף באתרים אחרים More sharing options...
moses_23 פורסם 2005 באוקטובר 8 מחבר Share פורסם 2005 באוקטובר 8 אני עדיין לא הבנתי איך אני פותר את התרגיל ב- C...מישהו יכול לרשום לי את הקוד?... קישור לתוכן שתף באתרים אחרים More sharing options...
orlupo פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 ללא רקוקסיות כי אין לי מושג מזה:הערה: התוכנית תומכת במספרי עד 19 ספרות. במידה ורוצים יותר יש להגדיל את גודל המערך (מספר הספרות+1).#include <stdio.h>#include <string.h>void main(){char x [20];int i=0;int sum=0;int unzugi=0;while((x[i++]=getchar())!='\n');x [i]='\0';printf("The number of the nums is: %d\n",strlen(x)-1);for(i=0;i<strlen(x)-1;i++){ sum+=x[i]-48; if(x[i]%2==1) unzugi++;}printf("The number of the nums is: %d\n",sum);printf("The number of nums that unzugi is: %d\n",unzugi);} קישור לתוכן שתף באתרים אחרים More sharing options...
moses_23 פורסם 2005 באוקטובר 8 מחבר Share פורסם 2005 באוקטובר 8 תודה אחי על הניסיון אבל אני צריך את זה רקורסיווית...אני עדיין לא הבנתי מה זה רקורסיהאתם יכולים להסביר לי את זה בפשטות?מה המטרה שלה? קישור לתוכן שתף באתרים אחרים More sharing options...
BURTON פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 רקורסיה זה שפונקציה קוראת לעצמהאתה יכול לקרוא לפונקציה פעם ראשונה עם המחרוזת לבצע על האיבר הראשון שלה פעולה(לבדוק אם הוא גדול מ-1 לדוגמא), לחתוך את המחרוזת מהאיבר השני(להוריד את האיבר שכבר ביצעת עליו את הפעולה) ולקרוא לעצמה עם המחרוזת החדשה. חוזר חלילה עד אשר אורך המחרוזת קטן מ-1 קישור לתוכן שתף באתרים אחרים More sharing options...
orlupo פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 אתה יכול להראות דוגמה מיוסמת?הרי אם אני במימוש של הפונקציה אכניס קריאה לעצמה היא תיכנס ללופ אין סופי. קישור לתוכן שתף באתרים אחרים More sharing options...
BURTON פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 בשביל זה תשים לב לתנאי שכתבתי בסוףחוזר חלילה עד אשר אורך המחרוזת קטן מ-1 קישור לתוכן שתף באתרים אחרים More sharing options...
orlupo פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 אוקיי קראתי קצת על הנושא עכשיו אני ינסה להבין את התרגיל שנתנו גיצד ניתו לבנותו עם רקורסיות. קישור לתוכן שתף באתרים אחרים More sharing options...
iceman90 פורסם 2005 באוקטובר 8 Share פורסם 2005 באוקטובר 8 סתם כדי לתת לך כיוון לתרגיל הראשון :int func(int num)if (num <= 9) return 1;return func(num/10)+1;הפונקציה תקרא כל פעם עם מספר שקטן פי 10 מהקריאה הקודמת... עבור כל חלוקה ב10 (ספרה) אנו מוסיפים 1 לכן בסוף הערך המוחזר יהיה מספר החלוקות ב-10 עד שהגענו למספר קטן מ-10 וזהו מספר הספרות. כמובן שהתכנית לא עובדת על מספרים שליליים..תרגיל אצבעות : כתוב פונקציה התומכת בספירת מספר הספרות של מספר שלילי.תרגיל למתקדמים : כתוב פונקציה הסופרת את מספר הספרות אחרי הנקודה העשרונית. שים לב שהדברים העיקריים שאמורים להשתנות יהיו "פעולת ההתקדמות" (במקרה זה חלוקה ב-10) ותנאי הבסיס.מטי. קישור לתוכן שתף באתרים אחרים More sharing options...
orlupo פורסם 2005 באוקטובר 9 Share פורסם 2005 באוקטובר 9 תרגיל אצבעות : כתוב פונקציה התומכת בספירת מספר הספרות של מספר שלילי.תרגיל למתקדמים : כתוב פונקציה הסופרת את מספר הספרות אחרי הנקודה העשרונית. שים לב שהדברים העיקריים שאמורים להשתנות יהיו "פעולת ההתקדמות" (במקרה זה חלוקה ב-10) ותנאי הבסיס.מטי.תרגיל אצבעות: ממש פשוט.תרגיל למתקדמים: ישנה בעיה עם שברים כמו 1.33 למעשה יש עד אין סוף פעמים 3 ולכן אי אפשר להגיע למספר מדויק. קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2005 באוקטובר 9 Share פורסם 2005 באוקטובר 9 במחשב זה לא נשמר אינסוף פעמים. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.