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

נושא: אופרטור ההתניה.. שפת C

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


הצטרף / הצטרפה: 10 December 2005
משתמש: מנותק/ת
הודעות: 45
נשלח בתאריך: 01 January 2006 בשעה 00:26 | IP רשוּם
ציטוט dl25

אחים שלי אפשר הסבר על אופרטור ההתניה כאילו אם אפשר הסבר על הקוד הזה:

z = x > y ? x : y;

הסבר דחוף...

תודה..



__________________
אוליי יש מישהו שיכול לעזור לי בשפת:
c
אז תוסיפו הנה האיסי שלי: 254553060
חזרה לתחילת העמוד הצג את כרטיס החבר של dl25 חפש הודעות אחרות של dl25
 
AC-Milan
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 27 July 2005
משתמש: מנותק/ת
הודעות: 176
נשלח בתאריך: 01 January 2006 בשעה 01:59 | IP רשוּם
ציטוט AC-Milan

אופרטור ההתניה [טרינארי] .
קוד:
x ? y : z
 
זה אומר שאם x הוא אמת , אזי מוחזר ההערך של y , אחרת , מוחזר הערך של z .
חזרה לתחילת העמוד הצג את כרטיס החבר של AC-Milan חפש הודעות אחרות של AC-Milan
 
pitbull
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 01 January 2006 בשעה 10:44 | IP רשוּם
ציטוט pitbull

אולי זה ימחיש לך יותר טוב:
קוד:

z = x > y ? x:y

זה בדיוק אותו דבר כמו לכתוב
קוד:

if (x>y)
z = x;
else z = y;

חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 01 January 2006 בשעה 11:14 | IP רשוּם
ציטוט SBD

רק ששים לב שהוא לא מקצר רק מבחינת ה-SYNTEX אלה גם מבחינת זה שהאופטור הקודם ובעצם כל הקוד הקודם תקף לשני האיברים, כלומר אם תסתכל על התגובה מעלי בקוד השני הייתי צריך לשים "z=y" ובקוד הראשון יש רק "Y"....

בכל מקרה אני לא חושב שניתן להמשיך את שורת הקוד אחרי משפט IF כזה למרות שהוא כאילו ממשיך את הקוד ועושה מן REPLACE אם משהו מתבצע...



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
dl25
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 10 December 2005
משתמש: מנותק/ת
הודעות: 45
נשלח בתאריך: 01 January 2006 בשעה 12:21 | IP רשוּם
ציטוט dl25

לא הבנתי את הקטע הזה:

קוד:
? x:y

תודה לעוזרים..



__________________
אוליי יש מישהו שיכול לעזור לי בשפת:
c
אז תוסיפו הנה האיסי שלי: 254553060
חזרה לתחילת העמוד הצג את כרטיס החבר של dl25 חפש הודעות אחרות של dl25
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 01 January 2006 בשעה 13:16 | IP רשוּם
ציטוט shoshan

x זה הערך שיתקבל אם התנאי אמת ו-y זה הערך שיתקבל אם התנאי שקר.
מבנה: (תנאי) ? ערך שיתקבל אם התנאי אמת : ערך שיתקבל אם התנאי שקר
קוד:
סתם דוגמא:
a=(5>4)?1:2         //a=1
b=(8!=8)?3:4        //b=4

התנאי הראשון אמת ולכן הערך של a הוא הראשון, והתנאי השני שקר ולכן הערך של b הוא השני.


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

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

הצטרף / הצטרפה: 11 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 162
נשלח בתאריך: 02 January 2006 בשעה 17:14 | IP רשוּם
ציטוט אבידור

הביטוי המותנה מקצר לך קוד ארוך לקצר.
פורמט:
קוד:

(something) ? ifTrue : ifFalse

דוגמא לקוד:
קוד:

z=(a>b)?a:b

מה הקוד אומר? z יקבל את ( אם a גדול מ b הוא יקבל את a, ואם לא הוא יקבל את b.
חזרה לתחילת העמוד הצג את כרטיס החבר של אבידור חפש הודעות אחרות של אבידור
 

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

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

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