Menu
Coddy logo textTech

תרגול מס׳ 2

שיעור 10 מתוך 13 בקורס מחסנית – סדרת מבני נתונים #1 של Coddy.

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

מבנה הנתונים Stack כבר מסופק לך — השתמש בו!

challenge icon

אתגר

קל

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

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

דוגמה:

קלט: [4, 5, 2, 10, 8]

פלט צפוי: [-1, 4, -1, 2, 2]

נסו בעצמכם

#include <stdio.h>
#include <stdlib.h>
#include "nse.h"

int main() {
    int* a = (int*)malloc(sizeof(int) * 1000);
    int aSize = 0;
    int x;
    while (scanf("%d", &x) == 1) {
        a[aSize++] = x;
    }
    int returnSize;
    int* result = nse(a, aSize, &returnSize);
    for (int i = 0; i < returnSize; i++) {
        printf("%d\n", result[i]);
    }
    free(a);
    return 0;
}

כל השיעורים ביחידה מחסנית – סדרת מבני נתונים #1

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