Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- #define POCET 20
- int* pocet(int *znaky, int dlzka);
- char* histogram(int pocet);
- int main(void)
- {
- int *veta=(int *)calloc(POCET,sizeof(int));
- int *pocty=NULL;
- char *hviezdy=NULL;
- int pocetRealok=1;
- int pocetZnakov=0;
- int i;
- int c;
- for(i=0;i<POCET;++i)
- {
- *(veta+i)=0;
- }
- while((c=getc(stdin))!='\n')
- {
- ++pocetZnakov;
- if(isalpha(c))
- {
- c=tolower(c);
- *(veta+pocetZnakov-1)=c;
- }
- }
- pocty=pocet(veta, pocetZnakov);
- for(i=0;i<30;++i)
- {
- hviezdy=histogram(*(pocty+i));
- printf("%c %d %s\n",'a'+i,*(pocty+i),hviezdy);
- free(hviezdy);
- }
- free(veta);
- veta=0;
- free(pocty);
- pocty=0;
- return 0;
- }
- int* pocet(int *znaky, int dlzka)
- {
- int *pocty=(int *)calloc(dlzka,sizeof(int));
- int i;
- for(i=0;i<dlzka;++i)
- {
- *(pocty+i)=0;
- }
- for(i=0;i<dlzka;++i)
- {
- *(pocty+(*(znaky+i)-'a'))+=1;
- }
- /*for(i=0;i<26;++i)
- {
- printf("%c %d\n",'a'+i,*(pocty+i));
- }*/
- return pocty;
- }
- char* histogram(int pocet)
- {
- int i;
- char *hviezdy=(char *)calloc(pocet+1,sizeof(char));
- for(i=0;i<pocet+1;++i)
- {
- *(hviezdy+i)=0;
- }
- for(i=0;i<pocet;++i)
- {
- *(hviezdy+i)='*';
- }
- *(hviezdy+i+1)='\0';
- return hviezdy;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement