Sviluppare una function C che, dati come parametri di input un array di char e il suo size, determina e restituisce come parametro di un dato logico che indica se il testo nell’array è un pangramma, ovvero è un testo che contiene, almeno una volta, tutte le 21 lettere dell’alfabeto italiano.

Sviluppare una function C che, dati come parametri di input un array di char e il suo size, determina e restituisce come parametro di un dato logico che indica se il testo nell’array è un pangramma, ovvero è un testo che contiene, almeno una volta, tutte le 21 lettere dell’alfabeto italiano.


  1. /**
  2.     Sviluppare una function C che, dati come parametri di input un array di char e il suo
  3.     size, determina e restituisce come parametro di un dato logico che indica se il testo
  4.     nell’array è un pangramma, ovvero è un testo che contiene, almeno una volta, tutte
  5.     le 21 lettere dell’alfabeto italiano.
  6. **/
  7. #include <stdio.h>
  8. #include <string.h>
  9. #include <stdlib.h>
  10.  
  11.  int pangramma(int n, char s[]) {
  12. char alfabeto[] = "abcdefghilmnopqrstuvz";
  13. int i,j;
  14. int occor[21];
  15.  
  16.         for(= 0; i < 21; i++)
  17.         occor[i] = 0;
  18.  
  19.     for(i=0;i<n;i++)
  20.         {
  21.                 s[i]=tolower(s[i]);
  22.         }
  23.  
  24.    for(i=0;i<n;i++) {
  25.     for (j=0;j<21;j++) {
  26.         if(s[i] == alfabeto[j]) {
  27.             occor[j]++;
  28.             }
  29.                         }
  30.                     }
  31. // Scorro tutto l'array delle occorrenze, se trovo un solo 0, significa che una lettera
  32. // non è presente nella stringa, ritorno 0 perchè non è un pangramma e esco
  33. // Se invece non trovo nessuno 0, ritorno 1, la frase è un pangramma.
  34.     for(j=0;j<21;j++)
  35.     {
  36.  
  37.         if(occor[j]==0) {
  38.         return 0;
  39.         break;
  40.         }
  41.     }
  42.     return 1;
  43.  
  44. }
  45.  
  46.  
  47.  
  48.  int main() {
  49.  
  50. char s[]="Pochi sforzan quel gambo di vite";
  51. int n;
  52. n=strlen(s);
  53.  
  54. int a;
  55. a=pangramma(n,s);
  56.  
  57. printf("%d",a);
  58.  
  59. }


Learn More :