Napisati program koji sa tastature ucitava ime neke tekstualne datoteke a zatim prebroji kolkiko se puta pojavljuju pojedina mala I velika slova I sortoira po broju pojavljivanja ((od onih koji se najvise pojavljuju prema onim koji se najmanje pojavljuje)Na ekranu stampati u parovima:slovo I broj pojavljivanja tog slova.
Ko uradi 100 bodova.
Evo ja sam pokusao nesto ali tu sam stao nisam dalje znao.
Pocetnik sam pa sam nesto kombinovao ali mi stampa samo jedno slovo iz ocitane datoteke.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
int i, zn, velika[26],mala[26];
char ime_datoteke[40];
char str[40];
gets(ime_datoteke);
FILE *fl;
fl=fopen(ime_datoteke,"r" ) ;
if(fl==NULL)
{
printf("Unesena datoteka ne postoji" ) ;
exit(0);
}
while((zn=fgetc(fl))!=EOF)
{
for (i=0; i<26; mala[i++]=0);
for (i=0; i<26; velika[i++]=0);
if (isupper (zn)) velika[zn-'A']++;
if (islower (zn)) mala[zn-'a']++;
for (i=0; i<26; i++)
if (mala[i]) printf ("%c %3d\n", i+'a', mala[i]);
for (i=0; i<26; i++)
if (velika[i]) printf ("%c %3d\n %",i+'A',velika[i]);
fclose(fl);
system("Pause" ) ;
}
}
Ko uradi 100 bodova.
Evo ja sam pokusao nesto ali tu sam stao nisam dalje znao.
Pocetnik sam pa sam nesto kombinovao ali mi stampa samo jedno slovo iz ocitane datoteke.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
int i, zn, velika[26],mala[26];
char ime_datoteke[40];
char str[40];
gets(ime_datoteke);
FILE *fl;
fl=fopen(ime_datoteke,"r" ) ;
if(fl==NULL)
{
printf("Unesena datoteka ne postoji" ) ;
exit(0);
}
while((zn=fgetc(fl))!=EOF)
{
for (i=0; i<26; mala[i++]=0);
for (i=0; i<26; velika[i++]=0);
if (isupper (zn)) velika[zn-'A']++;
if (islower (zn)) mala[zn-'a']++;
for (i=0; i<26; i++)
if (mala[i]) printf ("%c %3d\n", i+'a', mala[i]);
for (i=0; i<26; i++)
if (velika[i]) printf ("%c %3d\n %",i+'A',velika[i]);
fclose(fl);
system("Pause" ) ;
}
}