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

Α10.12 · Τι κάνει ο πίνακας letfr;

Διάλεξη 10, διαφάνεια 18 · Δυσκολία ★★☆ · trace · Κεφάλαια: 10

Τι κάνει το παρακάτω πρόγραμμα;

int i, ch, total = 0;
int letfr[26];  // Letter occurrences and frequencies array
for (i=0 ; i < 26 ; i++)
  letfr[i] = 0;
while ((ch = getchar()) != EOF) {
  if (ch >= 'A' && ch <= 'Z') {
    letfr[ch-'A']++;            // Found upper case letter
    total++;
  }
  if (ch >= 'a' && ch <= 'z') {
    letfr[ch-'a']++;            // Found lower case letter
    total++;
  }
}

Υπόδειξη

Υπολογίστε τι τιμή έχει η έκφραση ch - 'A' για ch = 'A', 'B' και 'Z'. Τι μετράει λοιπόν το letfr[i] και τι το total;

Αριθμός στον οδηγό: Α10.12 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec10-letter-frequency · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec10-letter-frequency.html · Markdown (GitHub)