Η συνάρτηση 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)