Pagini recente » Cod sursa (job #650472) | Cod sursa (job #954979) | Cod sursa (job #962873) | Cod sursa (job #268451) | Cod sursa (job #280538)
Cod sursa(job #280538)
#include <stdio.h>
#include <string.h>
FILE *f, *g;
int i, j, n, inj, sw, t, k;
char v[36005][17], aux, auxw[20];
void lettershell(void)
{
for (i=1;i<=n;i++)
{
t=strlen(v[i])-1;
inj=t;
while (inj>1)
{
inj/=2;
sw=0;
while (!sw)
{
sw=1;
for (j=0;j<t-inj+1;j++)
if (v[i][j]>v[i][j+inj])
{
aux=v[i][j];
v[i][j]=v[i][j+inj];
v[i][j+inj]=aux;
sw=0;
}
}
}
}
}
void wordshell(void)
{
inj=n;
while (inj>1)
{
inj/=2;
sw=0;
while (!sw)
{
sw=1;
for (i=1;i<=n-inj;i++)
if (strcmp(v[i], v[i+inj])>0)
{
strcpy(auxw, v[i]);
strcpy(v[i], v[i+inj]);
strcpy(v[i+inj], auxw);
sw=0;
}
}
}
}
int main(void)
{
f=fopen("restante.in", "r");
g=fopen("restante.out", "w");
fscanf(f, "%d", &n);
fscanf(f, "%c", &v[0][0]);
for (i=1;i<=n;i++)
{
fgets(v[i], 18, f);
if (v[i][strlen(v[i])-1]=='\n')
v[i][strlen(v[i])-1]='\0';
}
lettershell();
wordshell();
k=1;int y=n;
//for (i=1;i<=n;i++)
// if (!(!strcmp(v[i], v[i+1])))//||!strcmp(v[i], v[i-1])))
// k++;
i=0;y=n;
do
{ k=1;
while(!strcmp(v[i],v[i+1])) {k++;i++;}
if(k>1) y-=k;
else i++;
}
while(i<n);
fprintf(g, "%d", y);
fcloseall();
return 0;
}