Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α10.19 · Η συνάρτηση cons

Εξέταση Σεπτεμβρίου 2026, Θέμα 2 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 10, 25

Η συνάρτηση cons (15 Μονάδες)

Ζητήσαμε από την Κλαυδία να προγραμματίσει κάτι στα γρήγορα και χρησιμοποίησε την συνάρτηση cons στον κώδικά της:

int cons(int a[], int n) {
    int best = 1;
    int current = 1;

    for (int i = 1; i <= n; i++) {
        if (a[i] == a[i - 1])
            current++;
        else
            current = 1;

        if (current > best)
            best = current;
    }

    return best;
}

Τι κάνει η συνάρτηση cons (μέχρι 15 λέξεις εξήγηση);

Τι θα τυπώσει η παρακάτω ακολουθία εντολών;

    int arg[] = {4, 4, 2, 6, 7, 7, 7, 3};
    printf("%d", cons(arg, 6));

Υπάρχει κάποιο σφάλμα στην cons, αν n είναι το μέγεθος του πίνακα;

Υπόδειξη

Ιχνηλατήστε τον βρόχο με το current και το best για κάθε i και δείτε ποια ζευγάρια γειτονικών στοιχείων συγκρίνονται. Στην κλήση, το n είναι 6 ενώ ο πίνακας έχει 8 στοιχεία: μετρήστε ακριβώς ποια στοιχεία διαβάζει ο βρόχος. Για το σφάλμα, ρωτήστε ποιος είναι ο μεγαλύτερος έγκυρος δείκτης ενός πίνακα μεγέθους n και αν η συνάρτηση δουλεύει για πολύ μικρά n (π.χ. 0).

Αριθμός στον οδηγό: Α10.19 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: exam-2026-sep-q2 · Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2026-sep-q2.html · Markdown (GitHub)