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

נושא: עזרה ב-C

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


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

יש לי שלושה תוכניות אם התשובות שלהם ואני לא יודע איך הם עובדות אם משהו יכול להסביר לי תודה מקרב לב.. 

1.מה תדפיס התוכנית הבאה אם הקלט הוא 5?

היא תדפיס משולש ABCDE

                                ABCD

                                   ABC

                                      AB

                                         A   

השאלה שלי למה ?!?!                 

void xxx(int n){

      int k;

      while(n){

            k=0;

            while(k<n)

                  putchar('A' + k++);

            putchar('\n');

            n--;

      }

}

 

main()

{

      int x;

      scanf("%d",&x);

      xxx(x);

      return 0;

}

2.

void GoodBye(char **s, char **t){

      char *r=*s;

      *s=*t;

      *t=r;

}

 

void Hello(char **a, char **b){

      if(strcmp(*a,*b)<0)

            GoodBye(&*a,&*b);

}

 

main(){

      char *x=(char *)malloc(100*sizeof(char));

      char *y="dog";

      strcpy(x,"cat");

 

      Hello(&x, &y);

      printf("%s %s\n", x,y);

 

      return 0;

}

 

התוכנית תדפיס dog cat אבל השאלה שלי למה ?!?

3.

 

char what(char *w)

{

      if(*(w+1)==0)

            return *w;

      return what(w+1);

}

 

main(){

      char *a="toad";

      char *b="kangooroo";

      char *c="slug";

      printf("%c%c%c\n", what(a),what(b),what(c));

      return 0;

}

התוכנית תדפיס dog למה? !?!

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 04 March 2007 בשעה 17:27 | IP רשוּם
ציטוט shoshan

בגלל הפונקציה what מדפיסה את האות האחרונה בכל מחרוזת.

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

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

shoshan כתב:
בגלל הפונקציה what מדפיסה את האות האחרונה בכל מחרוזת.

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 04 March 2007 בשעה 22:30 | IP רשוּם
ציטוט shoshan

חח...נכון...אלא אם כן אתה מסתכל על main()...

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אורח
אורח
אורח


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

אני צריך הסבר למה זה מדפיס את האות האחרונה ??!! אני לא הבנתי את זה ??!

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

 

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 04 March 2007 בשעה 23:45 | IP רשוּם
ציטוט shoshan

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

התכנית הראשונה די פשוטה, לולאה מקוננת, אין מה להסביר.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

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

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

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

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

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