Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
17.04.2013
Размер:
1.29 Кб
Скачать
#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);
}
Соседние файлы в папке Lab4