#include <stdio.h>
#include <string.h>
void p1()
{
FILE *fi;
char linie[100];
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
printf("%s",linie);
}
}
void p2()
{
FILE *fi;
int i=0;
char linie[100], *cuv;
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
i++;
if(i%2==0)
printf ("%s ",cuv);
cuv = strtok (NULL, " ,.\n");
}
printf("\n");
}
}
void p3()
{
FILE *fi;
int i=0, contor, n;
char linie[100], aux[100], *cuv, m[100][20];
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
strcpy(m[i],cuv);
i++;
cuv = strtok (NULL, " ,.\n");
}
}
n=i;
while(contor)
{
contor=0;
for(i=0;i<n-1;i++)
if(strlen(m[i])<strlen(m[i+1]))
{
strcpy(aux,m[i]);
strcpy(m[i],m[i+1]);
strcpy(m[i+1],aux);
contor=1;
}
}
for(i=0;i<n;i++)
printf("%s\n",m[i]);
}
void p4()
{
FILE *fi;
int i=0,j=0,k, n, aparitii[100];
char linie[100], *cuv, m[100][20];
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
for(i=0;i<j;i++)
if(strcmp(m[i],cuv)==0)
{
aparitii[i]++;
i=j+2;
}
if(i!=j+2)
{
strcpy(m[j],cuv);
aparitii[j]=1;
j++;
}
strcpy(m[i],cuv);
j++;
cuv = strtok (NULL, " ,.\n");
}
}
n=j;
scanf("%d", &k);
for(i=0;i<n;i++)
if(aparitii[i]>=k)
printf("%s\n",m[i]);
}
void p5()
{
FILE *fi;
char linie[100];
int i,sf;
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
sf=strlen(linie)-1;
for(i=sf;i>-1;i--)
printf("%c", linie[i]);
printf("\n");
}
}
void p6()
{
FILE *fi, *fd, *fo;
int i=0,j=0, n, x;
char linie[100], *cuv, m[100][20], limba[100], dic[100][20];
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
strcpy(m[i],cuv);
i++;
cuv = strtok (NULL, " ,.\n");
}
strcpy(m[i],"\n");
i++;
}
n=i;
i=0;
fd=fopen("dictionar_en.txt","rt");
while(feof(fd)==0)
{
fgets(linie,100,fd);
cuv = strtok (linie," =,.\n");
while (cuv != NULL)
{
strcpy(dic[i],cuv);
i++;
cuv = strtok (NULL, " =,.\n");
}
}
x=i;
for(i=0;i<n;i++)
{
if(strcmp(m[i],"\n")==0)
printf("\n");
else
{
for(j=0;j<x;j+=2)
if(strcmp(m[i],dic[j])==0)
{
printf("%s ", dic[j+1]);
break;
}
if(j==x-1)
printf("*** ");
}
}
}
void lungime()
{
FILE *fi;
int i=0;
char linie[100], k, *cuv;
scanf("%d", &k);
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
if(strlen(cuv)>=k)
printf ("%s ",cuv);
cuv = strtok (NULL, " ,.\n");
}
printf("\n");
}
}
void frecventa()
{
FILE *fi;
int i=0,j=0,k, n, aparitii[100];
char linie[100], *cuv, m[100][20];
fi=fopen("in.txt","rt");
while(feof(fi)==0)
{
fgets(linie,100,fi);
cuv = strtok (linie," ,.\n");
while (cuv != NULL)
{
for(i=0;i<j;i++)
if(strcmp(m[i],cuv)==0)
{
aparitii[i]++;
i=j+2;
break;
}
if(i!=j+2)
{
strcpy(m[j],cuv);
aparitii[j]=1;
j++;
}
cuv = strtok (NULL, " ,.\n");
}
}
n=j;
for(i=0;i<j;i++)
printf("%s apare in text de %d ori\n", &m[i], aparitii[i]);
}
void main()
{
frecventa();
}