Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab4 / Var2
.cpp#include<stdio.h>
#include<string.h>
const m=15;
char *FindWordFile(FILE *in)
{
char c=0, n=0, i, *word, f=0;
word=new char[m];
for (i=0;i<=m-1;i++)
word[i]=0;
c=fgetc(in);
while ((c==' ' || c==',' || c=='.' || c==10 || c==13) && !feof(in))
c=fgetc(in);
while (c!=' ' && c!=',' && c!='.' && c!=10 && c!=13 && !feof(in))
{
word[n++]=c;
c=fgetc(in);
f=1;
}
if (c==-1 && !f)
return NULL;
return word;
}
void main()
{
char inname1[]="d:\\in1.txt", inname2[]="d:\\in2.txt", outname[]="d:\\out.txt", *word, **words;
int n=0, i, p;
FILE *in1, *in2, *out;
in1=fopen(inname1,"r");
while (!feof(in1))
{
word=FindWordFile(in1);
if (word==NULL)
continue;
n++;
}
fclose(in1);
in1=fopen(inname1,"r");
words=new char*[n];
for (i=0;i<=n-1;i++)
words[i]=new char[m];
n=0;
while (!feof(in1))
{
word=FindWordFile(in1);
if (word==NULL)
continue;
strcpy(words[n],word);
n++;
}
in2=fopen(inname2,"r");
out=fopen(outname,"w");
while (!feof(in2))
{
p=0;
word=FindWordFile(in2);
if (word==NULL)
continue;
for (i=0;i<=n-1;i++)
if (strcmp(word,words[i])==0)
p++;
fprintf(out,"%s - %d\n",word,p);
}
fclose(in1);
fclose(in2);
fclose(out);
}