מעבר לתוכן

שפת סי-קליטה למערך חד מימדי


הודעות מומלצות

שלום אנשים

אם אני מגדירה מערך חד מימדי בגודל כלשהו, וקולטת אליו סדרה של ערכים המופרדים ברווח אחד בין כל מספר, ע"י scanf. אז אם אני זוכרת נכון, scanf "מבינה" שאלה ערכים שונים כל עוד יש ביניהם רווח או הורדת שורה. 

אבל, וזו השאלה- איך אני מפסיקה את הקליטה למערך כאשר הקלט קטן מגודל המערך?

 

תודה מראש =]

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

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

אפשר למשל לקלוט תא תא ע"י לולאה עם מספר מוסכם לסיום הקלט, למשל -1 או משהו כזה.

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

הקלט שמוגדר לי בתרגיל (הרלוונטי לשאלתי) הוא שורה של מספרים המופרדים ברווחים (ללא רווח בתחילה ובסוף) כשיש שורות עם נתונים אחרים לפני ואחרי השורה הרלוונטית לשאלה שלי.

ז"א שיש שורה של מספרים שמופרדים ברווח (ללא רווח בתחילה ובסוף) עם אנטר בסוף. האנטר הוא כאילו האינדיקציה לסיום. איך משתמשים בזה?

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

אפשר להשתמש בקוד האסקי של תו האנטר אם קולטים את המספרים והרווחים שאחריהם אחד אחד בלולאה.

אם גודל הקלט ידוע, אפשר גם לספר לscanf איך נראית תבנית הקלט, למשל

 

%d %d \n

 

ואז הוא מצפה לשני מספרים וירידת שורה, למשל.

נערך בתאריך - על-ידי radagast
קישור לתוכן
שיתוף באתרים אחרים

תודה,

בתרגיל הבית הזה, גודל הקלט ידוע ע"י מספר שהמשתמש מכניס אז זו לא בעיה. תהיתי אם יש דרך לגרום לו להבין שאנטר במיקום כלשהו בקלט אומר "די להכניס מספרים למערך".

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

הצטרפות לשיח

באפשרותך לשלוח הודעה כעת ולהירשם מאוחר יותר. אם ברשותך חשבון, ניתן להתחבר עכשיו לשליחת הודעה דרך חשבונך.
הערה: הודעתך דרושה לאישור הנהלה לפני הצגתה.

אורח
הוספת תגובה

×   הדבקה כטקסט עשיר.   הדבקה כטקסט רגיל במקום

  מאושרים אך ורק 75 סמייקונים.

×   הקישור שלך מוצמד אוטומטית.   הצגה כקישור במקום

×   תוכן הקודם שלכם שוחזר.   ניקוי עורך

×   You cannot paste images directly. Upload or insert images from URL.

טוען...
×
×
  • יצירת חדש...