All pastes #771062 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-12 19:49 UTC
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);

}