שאלה ב-C מאיפה להתחיל ? - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


iem

Recommended Posts

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

בגלל זה נתקעתי ולא הצלחתי בלי IF או 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:

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...