Advertisement
Guest User

Programma che calcola la frequenza di vocali

a guest
Dec 19th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. main(){
  5.     char frase[81], vocmin, vocmax;
  6.     int vocali[5]={ 0,0,0,0,0 }, fmin, fmax, i, flag;
  7.    
  8.     do{
  9.         printf("Inserisci frase (max 80 caratteri): ");
  10.         scanf("%s",frase);
  11.     } while((strlen(frase)>80)||(strlen(frase)==0));
  12.    
  13.     for(i=0;i<strlen(frase);i++){
  14.         frase[i]=toupper(frase[i]);
  15.         switch(frase[i]){
  16.             case 'A': vocali[0]++; break;
  17.             case 'E': vocali[1]++; break;
  18.             case 'I': vocali[2]++; break;
  19.             case 'O': vocali[3]++; break;
  20.             case 'U': vocali[4]++; break;
  21.         }
  22.     }
  23.    
  24.     flag=0;
  25.     fmax=vocali[0];
  26.     vocmax=0;
  27.     for(i=0;i<5;i++){
  28.         if(vocali[i]>fmax){
  29.             fmax=vocali[i];
  30.             vocmax=i;
  31.         }
  32.        
  33.         if((vocali[i]!=0)&&(flag==0)){
  34.             fmin=vocali[i];
  35.             vocmin=i;
  36.             flag=1;        
  37.         }
  38.         else if(vocali[i]<fmin){
  39.             fmin=vocali[i];
  40.             vocmin=i;
  41.         }
  42.     }
  43.    
  44.     switch(vocmax){
  45.         case 0: vocmax=(char)'A'; break;
  46.         case 1: vocmax=(char)'E'; break;
  47.         case 2: vocmax=(char)'I'; break;
  48.         case 3: vocmax=(char)'O'; break;
  49.         case 4: vocmax=(char)'U'; break;
  50.     }
  51.    
  52.     switch(vocmin){
  53.         case 0: vocmin=(char)'A'; break;
  54.         case 1: vocmin=(char)'E'; break;
  55.         case 2: vocmin=(char)'I'; break;
  56.         case 3: vocmin=(char)'O'; break;
  57.         case 4: vocmin=(char)'U'; break;
  58.     }
  59.    
  60.     if(fmax!=0){
  61.         printf("La lettera con frequenza maggiore e' la %c che compare %d volte\n",vocmax,fmax);
  62.         printf("La lettera con frequenza minore e' la %c che compare %d volte\n",vocmin,fmin);
  63.     } else printf("Nella frase non sono presenti vocali\n");
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement