rendered paste body#include <stdio.h>
#include <string.h>
int main (int argc, char *argv[])
{
int i,j,emfaniseis[512], last,k,l,otinanai,telikosmetritis; /*i oti na nai einai metavliti pou aporofa tous epipleon xaraktires ston arxiko, o telikos metritis metraei poses pragmatika lekseis yparxoun, diladi diaforetikes metaksi tous[]*/
char arxikos[1024], *deiktes[512], *tmp;
scanf("%c", &arxikos[0]); /*vriskw to 1o stoixeio kai apo8ikeuw ta ypoloipa*/
if((arxikos[0]>='A')&&(arxikos[0]<='Z')) /* kefalaio se mikro*/
{ arxikos[0]=arxikos[0]+32; }
i=1;
while ((i<1024)&&(arxikos[i-1]!=EOF))
{scanf("%c", &arxikos[i]);
if((arxikos[i]>='A')&&(arxikos[i]<='Z')) /* kefalaio se mikro*/
{ arxikos[i]=arxikos[i]+32; }
i++;}
scanf("%d", otinanai);
last=i-1; /*8esi teleutaiou xaraktira einai i-1*/
for (i=0; i<1024; i++) /*elegxos an einai alfari8mitikos o xaraktiras arxikos[i] kai an einai, isoutai me \0 */
{k=0;
for (j=65; j<=90; j++)
{if (arxikos [i] == j) {k=1;}}
for (j=97; j<=122; j++)
{if (arxikos [i] == j) {k=1;}}
if (k==0) {arxikos[i]='\0';}
}
deiktes[0] = &arxikos[0]; /*vazw tis arxes twn le3ewn se deiktes*/
j=1;
for (i=1; i<1024; i++)
{
if (arxikos[i]!= '\0' && arxikos[i-1]=='\0') /*ftiaxnw pinaka me deiktes*/
{deiktes[j]=&arxikos[i]; j++;}
}
last=j-1;
for (i=0; i<=last; i++) /*taksinomw*/
{ for (l=i; l<=last; l++)
{ if (strcmp(deiktes[i],deiktes[l])>0) {
tmp = deiktes[i]; deiktes[i] = deiktes [l]; deiktes[l] = tmp;
}
}
}
for (i=0; i<=last; i++) /*arxikopoiw pinaka emfaniseis[i]*/
{emfaniseis[i]=1;}
for (i=0; i<=last; i++)
{
if (*deiktes[i]==*deiktes[i+1])
{emfaniseis[i]++; telikosmetritis--;
for (l=(i+1); l<=last; l++) {
*deiktes[l-1]=*deiktes[l];} last--; } /*last -- epeidi ta teleutaia stoixeia pou menoun einai idia opote o telikosmetritis 8a meiw8ei xwris na prepei*/
}
printf("autes einai oi lekseis tou keimenou, taksinomimenes");
for (i=0; i<=telikosmetritis; i++)
{printf("%d %c", emfaniseis[i], *deiktes[i]);}
return(0);
}