מערכים

רמה קלה

תרגיל 1

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

תרגיל 2

כתוב פונקציה המקבלת מערך של שלמים ואת גודלו, ואומרת האם אחד האיברים במערך הוא סכום של שניים אחרים. הפונקציה תחזיר 1 אם קיים איבר כזה, ו-0 אחרת.

תרגיל 3

כתוב פונקציה המקבלת מערך, את גודלו ו-3 מצביעים x1, x2, x3 ושמה בתוך התוכן של x1 את הערך הקטן ביותר, ב-x2 את הגדול ביותר וב-x3 את הממוצע של איברי המערך.

תרגיל 4

כתוב תוכנית היוצרת שלושה מערכים בגודל 10, ומאתחלת את כל התאים בהם להכיל את המספר 0 בשלוש דרכים שונות. כמה דרכים ישנן אם נדרש לאתחל את כל התאים למספר 7 במקום ל-0?

תרגיל 5

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

תרגיל 6

כתוב פונקציה המקבלת מערך ואת אורכו.

הפונקציה תהפוך את סדר האיברים בו מהסוף להתחלה.

תרגיל 7

כתוב פונקציה המקבלת מערך דו ממדי בגודל plot:\[N \times N\] (כאשר plot:\[N\] הוא קבוע). הפונקציה תחזיר 1 אם המערך מכיל רק אפסים, ו-0 אחרת.



תרגיל 8

כתוב פונקציה המקבלת מערך דו ממדי בגודל plot:\[M \times N\] (כאשר plot:\[M,N\] קבועים).

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



רמה בינונית

תרגיל 1

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

תרגיל 2

כתבו פונקציה המקבלת מערך וגודלו ומחזירה TRUE  אם יש במערך שני איברים שווים בערכם (מחזירה FALSE אחרת). סיבוכיות נדרשת: plot:\[O\left( {n\log n} \right)\].

תרגיל 3

אנו רוצים לכתוב תוכנית המנהלת הזמנות לפסטיבל הנמשך שבוע.

הקלט לתוכנית הוא זוגות של מספרים, שהראשון ביניהם הוא מספר בין 1 ל-7 המציין יום, והשני מציין את מספר הכרטיסים שהוזמנו באותו יום.

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

כמו כן, התוכנית תציג בצורה גרפית את כמות האנשים שהגיעו בכל יום, כאשר היום בו הגיעו מספר האנשים הגדול ביותר יהווה טור 10 כוכביות, והשאר ינורמלו בהתאם, למשל:

                                                *

                                                *

                                                *

                                                *

                                                *

*                                              *

*          *                                  *                      *

*          *                                  *                      *

*          *          *                      *                      *

*          *          *                      *          *          *

1          2          3          4          5          6          7



תרגיל 4

נרצה לכתוב תוכנית המממשת מנגנון הזמנת כרטיסים לבית קולנוע.

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

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

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

נשים לב שכאשר אנשים מזמינים מקומות, הם רוצים לשבת ברצף (באותה שורה!) - אם הוקלד 5, עלינו למצוא למשל רצף של 5 מקומות פנויים ולא מספר מקומות קטנים יותר.

במידה ואין מקום פנוי תודפס הודעה מתאימה.

תרגיל 5

צור מערך דו ממדי שיכיל את כל לוח הכפל בגודל 8x8.

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

לדוגמא, לוח הכפל plot:\[4 \times 4\] נראה כך:

1

2

3

4

2

4

6

8

3

6

9

12

4

8

12

16

עבור לוח בגודל plot:\[4 \times 4\] התוכנית תדפיס:

1 2 3 4 8 12 16 12 8 4 3 2 4 6 9 6

תרגיל 6

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

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



דוגמאות:

4

3

8

9

5

1

2

7

6

ריבוע קסם

4

3

7

9

5

1

0

2

6

לא ריבוע קסם

תרגיל 7

כתוב תוכנית המממשת משחק איקס-עיגול.

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

תרגיל 8

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

כתוב פונקציה המקבלת מערך המייצג מספר כנ"ל. הפונקציה תכפיל ב-2 את המספר המיוצג על ידי המערך הנ"ל.

תרגיל 9

השלם את הפונקציה partial_sums, שהצהרתה מובאת להלן:

#define N (20)

void partial_sums(int arr[N], int sums[N][N]);

הפונקציה מקבלת מערך שלמים arr באורך N ומטריצת שלמים sums שמימדיה NxN. לכל זוג אינדקסים i,j המקיימים  0 £ i £ j < N, על הפונקציה למלא ב- sums[ i ][ j ] וב- sums[ j ][ i ] את סכום האיברים שבתאים ה- i עד ה- j (כולל) במערך arr.

סיבוכיות זמן נדרשת: plot:\[O\left( {{N^2}} \right)\]. סיבוכיות מקום נוסף: plot:\[O\left( 1 \right)\].

תרגיל 10

נאמר כי מערך A בגודל size של מספרים שלמים חיוביים הינו מאוזן אם קיים אינדקס plot:\[0 \leqslant i < size - 1\] כך שסכום כל האיברים מplot:\[A\left[ 0 \right]\] עד ל-plot:\[A\left[ i \right]\] שווה לסכום האיברים מplot:\[A\left[ {i + 1} \right]\] עד plot:\[A\left[ {size - 1} \right]\]. האינדקס i נקרא אינדקס האיזון.

כתוב פונקציה המקבלת מערך A של מס' שלמים חיוביים וגודלו ומחזירה את אינדקס האיזון אם המערך מאוזן ו -1 אחרת.



מאת: C

פתרון שאלה 1

int main()
{
...
k = --I/j;
// 7 = 31/4;
q=&j;
//(כתובת J)4
{
...
I=j - ++(*q);
//5 = 10 - 5;

//printf(" I = 5 , j= 10)
}
//printf("I=31,j=5)
מאת: מהנדס מכרמיאל

עזרה

יעזור מאוד אם היו תשובות
מאת: יגאל חכמון

סטודנט להנדסת חשמל

ספת c
מאת: טלי

יש מצב לעלות תשובות?
מאת: גל

תשובות לשאלות

שלום לכולם... יש מצב שאתם מעלים גם את התשובות לשאלות האלה?!
תודה רבה!
מאת: ירון

שאלה במערכים (לא מונים)

נתונים 2 מערכים:מערך a מכיל30 איברים מסוג שלמים.מערך b מכיל 10 אברים מסוג ממשיים. נתון כי במערך a מאוחסנים עשר שלשות של מספרים שלמים. המספר השלישי מכיל קוד פעולה...
מה זה קוד פעולה?
איך יוצרים אותו?
איך אומאים למערך אחר לבצע אותו?
מאת: הנדסאי

אפשר תשובות
מאת: לא ידוע

חשיבות גבוהה

רק 3 תרגילים???
ונורא מטופשים וקלים.
מאת: נטלי

מערך דו-מימדי

תוכנית מוכנה
מאת: נטלי

מערך דו-מימדי

איך לבנות משחק איקס עיגול ב - visual c איך לבנות מערך דו-מימדי. תשלחו בבקשה תוכנית מובנה.
מאת: kfirozeri

שאלותלשפתC

אהלן ניר אדר...

אני משמש בתוכנית הלימוד שלך לשפת C אבל בשאלות האלו חסר לי הפרונות לבדוק טת הפרונות דשלי... יש אפשרות לארגן את נספח של התשובות?
שיתוף:
| עוד