Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  frequency
Language: C/C++
Code:
#include <stdio.h>
#define LIMIT 100
#define TRUE 1

void calculateFrequency(char text[], int kount, int freq[]);
// text[] contains the text in English
// freq[] must contain the number of occurrennces of alphabets

void calculateRelativeFrequency(int freq[], int kount, float relFreq[]);
// freq[]  contains the number of occurrennces of alphabets
// kount is the total number of characters in the text
// relFreq[] must contain the relative frequencies of each alphabet

int main()
{
     char text[LIMIT], ch, alphabet[26];
     int freq[26], k, kount;
     float relFreq[26];
     
     // Initialize frequency count & relative frequency 
     for (k = 0; k < 26; k++)
     {
          freq[k] = 0;
          relFreq[k] = 0.0;
          alphabet[k] = (char)(k+65); 
//65 is the offset for capital A in the ascaii table
     }
          
     // Input the text
     printf("Enter the text terminated by $ :\n");
     kount = 0;
     ch = getchar();
     while (ch != '$')
     {
          text[kount] = ch;
          kount++;
          ch = getchar();
     }
          
     if (kount > 0)
     {
          // Calculate frequency of occurrences of alphabets
          calculateFrequency(text, kount, freq);
     
     // Calculate relative freqency of occurrences of alphabets
          calculateRelativeFrequency(freq, kount, relFreq);
     
     // Display total number of characters in text
          
 printf("\nTotal Number of characters in text: %d\n", kount);
          printf("\n");
     
     // Display frequency
     printf("Frequency of each Alphabet in the text :\n\n");

          for (k = 0; k < 26; k++)
               printf("%c = %d\n",alphabet[k], freq[k]);
          
          
     // Display relative frequecy
printf("\nRelative Frequency of each Alphabet in the text\n");
          
     for (k = 0; k < 26; k++)
               printf("%c = %6.2f\n",alphabet[k], relFreq[k]);
          
     }

     return TRUE;

}
void calculateFrequency(char text[], int kount, int freq[])
{
int i,z;
  for(i=0;i<kount;i++)
  {
    z=(int)text[i];
    freq[z-65]+=1;
  }
}
void calculateRelativeFrequency(int freq[], int kount, float relFreq[])
{

}
Comments: