עבור לתוכן

שאלה ב-C מאיפה להתחיל ?

Featured Replies

פורסם

sum += (a == b) ? 1 : 0;

זה שאלת if מקוצר

אז מה הקטע...

פורסם

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

פורסם
  • מחבר

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

בגלל זה נתקעתי ולא הצלחתי בלי IF או FOR כי אסור...

הצעות ? :'(

פורסם

לקרוא את מה שרשום פה שוב.

פורסם
  • מחבר

לקרוא את מה שרשום פה שוב.

את זה הייתי מציע לך כי רשמתי בלי FOR :smile1:

פורסם

איפה בדיוק צריך להשתמש ב FOR ? תלמד להבחין בין העיקר לשאר.

פורסם

כבר ענו לך אתה רק צריך לקרוא, אבל קח.

int sum = 0;
char a = getchar();
getchar();
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());

printf("\n%d\n", sum);

שים לב שההנחה היא שבאמת יש רווח אחרי התו הראשון ואין וידוי

פורסם
  • מחבר

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

אני לא בא בטענות חלילה אני לא מבין את המבנה של מה שכתבת... איך getcH() יודעת לעבור על המילה הנקלטת ?

פורסם

getchar קורא את התו הבא בקלט.

אם אתה מזין מחרוזת, אז כל קריאה ל-getchar תקרא תו אחד.

אם אתה לא רוצה להשתמש ב-getchar, אתה יכול לקלוט את כל המחרוזת במכה (באמצעות gets או scanf) ואז לעשות:

sum += (a == str[0]);
sum += (a == str[1]);
sum += (a == str[2]);
sum += (a == str[3]);
sum += (a == str[4]);

פורסם
  • מחבר

סבבה אז 2 שאלות המשך:

1)

כבר ענו לך אתה רק צריך לקרוא, אבל קח.

int sum = 0;
char a = getchar();
getchar();
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());
sum += (a == getchar());

printf("\n%d\n", sum);

שים לב שההנחה היא שבאמת יש רווח אחרי התו הראשון ואין וידוי

השורה השלישית אומרת כי אני יוצר את הרווח באופן מלאכותי ע"מ לטפל ב"בעיית" הרווח כי זה מה שנדרש בתרגיל?

2) בתוכנית החלופית שאתה הצעת, אם אני משתמש ב- scanf, האם הפנייה למקומות במחרוזת שלי הם באותו האופן שרשמת?

a== str[n]

?

תודה :smile1:

ארכיון

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

דיונים חדשים