Advertisement
informaticage

Count letters

May 6th, 2021
834
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define LETTERS_AMOUNT ('z' - 'a')
  6. size_t *map_chars(char string[1000], size_t len);
  7.  
  8. int main(void) {
  9.   printf("Input string: ");
  10.   char string[1000];
  11.   scanf("%s", string);
  12.  
  13.   size_t *letters = map_chars(string, strlen(string));
  14.   for (size_t i = 0; i < LETTERS_AMOUNT; i++) {
  15.     if (letters[i]) {
  16.       printf("%c: %zu\n", i + 'a', letters[i]);
  17.     }
  18.   }
  19. }
  20.  
  21. size_t *map_chars(char string[1000], size_t len) {
  22.   size_t *letters = (size_t *)malloc(LETTERS_AMOUNT * sizeof(size_t));
  23.  
  24.   for (size_t i = 0; i < LETTERS_AMOUNT; i++) {
  25.     letters[i] = 0;
  26.   }
  27.  
  28.   for (size_t i = 0; i < len; i++) {
  29.     letters[string[i] - 'a']++;
  30.   }
  31.  
  32.   return letters;
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement