אלגוריתמים למערכים
חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 59 מתוך 63.
אלגוריתמים למערכים הם טכניקות חיוניות לעיבוד נתוני מערכים. בואו נלמד כמה פעולות נפוצות על מערכים.
מציאת הערך המרבי במערך:
// אתחל מערך
int numbers[] = {4, 9, 2, 7, 5};
// קבע את הערך ההתחלתי של max לאיבר הראשון
int max = numbers[0];// השווה לאיברים האחרים
for (int i = 1; i < 5; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
// כעת max מכיל את הערך הגדול ביותר (9)מציאת הערך המינימלי פועלת באופן דומה:
// הגדר את min ההתחלתי לאיבר הראשון
int min = numbers[0];
// השווה לאיברים האחרים
for (int i = 1; i < 5; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
// כעת min מכיל את הערך הקטן ביותר (2)סכימת כל האיברים במערך:
int sum = 0;
// הוסף כל איבר ל-sum
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
// כעת sum מכיל את הסכום הכולל (27)אתגר
קלכתבו פונקציה בשם findAverage שמחשבת את הממוצע של כל האיברים במערך של מספרים שלמים.
הפונקציה צריכה:
- לקבל מערך של מספרים שלמים ואת הגודל שלו כפרמטרים
- לחשב את סכום כל האיברים
- לחלק את הסכום במספר האיברים כדי לקבל את הממוצע
- להחזיר את הממוצע כערך מסוג float
לאחר חישוב הממוצע, הדפיסו את התוצאה עם בדיוק 2 ספרות אחרי הנקודה העשרונית באמצעות: printf("Average: %.2f\n", average);
נסו בעצמכם
#include <stdio.h>
// כתבו כאן את הפונקציה findAverage שלכם
int main() {
int size;
scanf("%d", &size);
int numbers[size];
// קראו את איברי המערך
for (int i = 0; i < size; i++) {
scanf("%d", &numbers[i]);
}
// קראו לפונקציה שלכם והדפיסו את התוצאה
float average = findAverage(numbers, size);
printf("Average: %.2f\n", average);
return 0;
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר C אונליין