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

נושא: עזרה בש"ב בשפת סי

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 February 2009 בשעה 10:39 | IP רשוּם
ציטוט דניאל

יש לי ש"ב בשפת סי להגיש עד יום ד' ואני אפילו לא יודעת מאיפה להתחיל...
אני ממש ממש צריכה עזרה.
אין לי אפשרות לצרף מסמך אך אנסה להעתיק ולהדביק את ההוראות. ממש אשמח לעזרה...
הכל מפורט בקישור הזה http://webcourse.cs.technion.ac.il/234112/Winter2008-2009/hw/WCFiles/HW5.pdf

אם לא מובן המייל שלי הוא daniel_sml29@hotmail.com...
אני באמת באמת צריכה עזרה עם זה.
ותודה מראש למי שיעזור.

מותר להשתמש רק ב-STDIO.H. אסור להשתמש ב-STRING או כל דבר אחר.

שאלה 1: מחרוזות ומצביעים

וגם main שמכיל קריאות לפונקציות שתכתבו לעזרת הבדיקות.

א.( כתבו פונקציה בעלת ההצהרה
int Count_Letter (char* Str, char letter)

שמקבלת מחרוזת ואות ומחזירה את מספר הפעמים שהאות מופיעה במחרו זת הנתונה, ללא

התיחסות להבדל בין אותיות גדולות לקטנות האות הנתונה בקלט אמורה

להיות אות לטינית מ- A ל- Z גדולה או קטנה ולכן יש ל וודא שהיא אכן כזאת ולהחזיר פלט

שמציין אם היא אחרת.

ב.( כ תבו פונקציה בעלת ההצהרה
char Popular_Letter (char* Str) שמקבלת מצביע

למחרוזת טקסט מורכבת מאותיות, תוים, סימני פיסוק, ורווחיםהפונקציה תחזיר את האות

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

אחת יש את אותה כמות של מופעים , הפונקציה תכתוב את האות היותר קרובה לתחילת

האלפבית.

דוגמה: בהינתן המחרוזת הבאה:

I was promoted to a new position at work today. פלט הפונקציה יהיה: ' O .'

חובה להשתמש בפונקציה שכתבתם בסעיף א'.

ג.( כ תבו פונקציה בעלת ההצהרה
char Count_Word (char * Str, int n) שמקבלת

מחרוזת טקסט ומספר שלם n. הפונקציה תחזיר את האות השכיחה ביותר במילה ה- n

במחרוזת הקלט . המילים בקלט מופרדות ע "י רווחים ואין רווח אחרי מילה האחרונה יש

להתייחס לזה במקרה ש- n מסמן את המילה האחרונה אפשר להניח שהקלט תקין ואין צורך

לבדוק אם n קטן מאחד או גדול ממספר המילים במחרוזת הקלט.

דוגמה 1: בהינתן המחרוזת הבאה ו- n=5 :

Don’t let your schooling interfere with your education.הפונקציה תחזיר E.

רמז: ' \0 ' מציין את הסוף של מחרוזות.

חובה להשתמש בפונקציה שכתבתם בסעיף ב'.

שאלה 2: מערכים ומערכים דו מימדיים
 אבנים לבנות זזות רק למעלה באלכסון.

 אבנים שחורות זזות למטה באלכסון.

 תא מכיל ערך ASCII 219 ( ( מייצג משבצת לבנה ללא אבן.

 תא מכיל ערך ASCII 32 )רווח( מייצג משבצת שחורה ללא אבן.

 תא מכיל ערך ASCII 64 )@( מייצג משבצת מכילה אבן שחורה.

 תא מכיל ערך ASCII 79 ( O( מייצג משבצת מכילה אבן לבנה.

 לוח ה"דמקה" הוא בגודל 10x10 .

 אבנים מונחות וזזות במשבצות השחורות בלבד.

א.( כתבו פונקציה בעלת ההצהרה char get_Color (char board[10][10], int row, int col) שמקבלת מערך דו-מימדי מייצג את לוח ה"דמקה" במצב כלשהו, ומספר שורה

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

במשבצת הנתונה. הפונקציה מחזירה:

 ' B ' - האבן שחורה

 ' W ' - האבן לבנה

 ' N ' - לא נמצאת אבן במשבצת הנתונה או הפרמטרים לא חוקיים.

ב.( כתבו פונקציה בעלת ההצהרה

int check_Move (char board[10][10], int row, int col, char dir, char move) שמקבלת לוח ה"דמקה" במצב כלשהו, מספר שורה ומספר עמודה שמייצגות

משבצת בלוח, אות שמייצגת כיוון, ואות שמייצגת איזה סוג מעבר לבצע בלוח עבור האבן

שנמצאת במשצבת הקלט. הפונקציה תבדוק אם המעבר אפשרי ואם אבן נמצאת במשבצת

בכלל ותפלוט ערך אמת בהתאם. אות הכיוון תהיה אחת משתי האותיות הבאות:

 ‘L’ – מייצגת מעבר שמאלה

 ‘R’ – מייצגת מעבר ימינה

אות המעבר תהיה אחת משתי האותיות הבאות::

 ‘M’ – מעבר רגיל )מעבר למשבצת הפנויה בכיוון הנתון בקלט(

 ‘J’ ( – jump ( מעבר אכילה לשתי משבצות קדימה באלכסון ותיעלם האבן של היריב

שנמצאת בין המשבצת המקור למשבצת היעד.

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

לגבולות הלוח.

חובה להשתמש בפונקציה שכתבתם בסעיף א'.

ג.( כ תבו פונקציה בעלת ההצהרה void make_Move (char board[10][10]) שמקבלת לוח

ה"דמקה" במצב כלשהו . הפונקציה תקלוט מהמשתמש מספר שורה ומספר עמודה בסדר זה

ואז אות כיוון המעבר ואות סוג מעבר בסדר זה )ללא רווח ביניהן , ראו דוגמאות( ותבצע, אם

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

 המשבצת היעד באלכסון היא פנויה – ‘M’

 האבן של היריב נמצאת במשבצת בכיוון הנבחר באלכסון מיד אחרי המשבצת הנבחרת,

והמשבצת אחריה היא פנויה – ‘J’

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

האבנים של כל אחד מהשחקנים. הפונקציה תדפיס את מצב הלוח ואת הניקוד המעודכן אחרי

המעבר אלא אם כן המעבר או הקלט לא חוקי. ראו דוגמאות למטה.

אין צורך לבדוק אם המעבר המבוקש יכריח את האבן לצאת מחוץ לגבולות הלוח.

חובה להשתמש בפונקציות שכתבתם בסעיף ב'. לעזרת ביצוע המעבר, תשתמשו גם בפונקציה

מסעיף א'.

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

הצטרף / הצטרפה: 23 January 2009
מדינה: Israel
משתמש: מנותק/ת
הודעות: 22
נשלח בתאריך: 14 February 2009 בשעה 21:15 | IP רשוּם
ציטוט carloc

הלכת רחוק מידי, שהמסמך גדול מידי אף אחד לא קורא.......חוק ידוע.
חזרה לתחילת העמוד הצג את כרטיס החבר של carloc חפש הודעות אחרות של carloc
 
גד
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 14 February 2009 בשעה 21:46 | IP רשוּם
ציטוט גד

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

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

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

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