Menu
CoddyTech

גישה לאיברים

חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 54 מתוך 63.

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

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

צור מערך של מספרים שלמים עם 5 איברים:

int numbers[5] = {10, 20, 30, 40, 50};

גישה לאיבר הראשון (אינדקס 0):

int firstElement = numbers[0];

לאחר הרצת הקוד שלמעלה, firstElement מכיל:

10

גש לאיבר השלישי (אינדקס 2):

int thirdElement = numbers[2];

פעולה זו שומרת את הערך 30 בתוך thirdElement.

ניסיון לגשת לאיבר מחוץ לגבולות המערך (כמו numbers[5] בדוגמה שלנו) מוביל להתנהגות לא מוגדרת ועלול לגרום לקריסת התוכנית.

challenge icon

אתגר

קל

כתבו פונקציה בשם getElement ש:

  1. מקבלת מערך של מספרים שלמים ואת הגודל שלו כפרמטרים
  2. מקבלת פרמטר של אינדקס
  3. אם האינדקס תקין (בתחומי המערך), היא מדפיסה את האיבר שבמיקום הזה
  4. אם האינדקס אינו תקין (מחוץ לתחומי המערך), היא מדפיסה Index out of bounds

הפרמטר index כבר מתחיל מ-0: השתמשו בו ישירות בתור arr[index] (האינדקס 5 הוא האיבר השישי). האינדקסים התקינים הם מ-0 עד size - 1.

נסו בעצמכם

#include <stdio.h>

void getElement(int arr[], int size, int index) {
    // כתבו כאן את הקוד שלכם
}

int main() {
    int size, index;
    
    // קראו את גודל המערך
    scanf("%d", &size);
    
    int arr[size];
    
    // קראו את איברי המערך
    for(int i = 0; i < size; i++) {
        scanf("%d", &arr[i]);
    }
    
    // קראו את האינדקס שאליו יש לגשת
    scanf("%d", &index);
    
    getElement(arr, size, index);
    
    return 0;
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C אונליין