Gostota crke v zadanem nizu v C-ju

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje
#include <stdio.h>
#include <stdlib.h>	/* EXIT_SUCCESS, EXIT_FAILURE */
 
//crke steje tako da  velika in mala crka sta enakovredna pr. D=d 
 
int frek(char s[])
{
       int i, j, max;   
       char crka[26];
                           //inicijalizacija polja kjer bom 
                           //za usako crko stela stevilo nastopov
       for(i=0;i<26;i++)
       {
              crka[i]=0;
       }   
       max = 0;          // index crke katera nastopa najpogosto pr. crka[0] je sinonim za A 
                         //  v crka[0] pa je shranjeno stevilo nastopov A-ja(tud a-ja).
       for(i=0,j=0; (s[i]!='\0'); i++)
       {
 
                 if(s[i]>='A' &&  s[i]<='Z')
                 {
                       crka[s[i]-'A']++;  // primer: s[i]=B ==> crka[1] se poveca ker 
                                          // 'B'-'A' = 1;
                      max = ( crka[s[i]-'A'] > crka[max] ) ?  (s[i]-'A') :max;
                 }
                 else
                 if(s[i]>='a' &&  s[i]<='z')
                 {
                       crka[s[i]-'a']++;
                       max = ( crka[s[i]-'a'] > crka[max] ) ?  (s[i]-'a') :max;
                 }
 
     }
 
   return max;
 
}
 
int main()
{
     int st;  
     char a[]="aaaazzzzzzzzzzzzzzzzzzzzzzzzobdddaaaaa";
     printf("%s\r\n",a);
     st= frek(a);
     printf("%c\r\n",st+'A');//  izpise Z
 
     return(EXIT_SUCCESS);     
}

ce kej ni jasno --Squirrel 21:24, 6 jun 2005 (CEST)

Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja