Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
17.04.2013
Размер:
2 Кб
Скачать
#include<conio.h>
#include<stdio.h>
#include<string.h>

const m=15;

FILE *FindStringFile(FILE *in)
{
	char c=0;
	FILE *file;

	file=fopen("d:\\temp.txt","w");

	c=fgetc(in);
	while ((c==10 || c==13 || c==-1) && !feof(in))
		c=fgetc(in);

	do
	{
		fputc(c,file);
		c=fgetc(in);
	}
	while (c!=10 && c!=13 && c!=-1 && !feof(in));

	if (c==-1)
		return NULL;

	return file;
}

char *FindWordFile(FILE *in)
{
	char c=0, n=0, i, *word;

	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);

	do
	{
		word[n++]=c;
		c=fgetc(in);
	}
	while (c!=' ' && c!=',' && c!='.' && c!=10 && c!=13 && !feof(in));

	return word;
}

void main()
{
	clrscr();

	char inname[]="d:\\in.txt", outname[]="d:\\out.txt", *word, **words;
	int n, i, l, p;
	FILE *in, *out, *temp;

	in=fopen(inname,"r");
	out=fopen(outname,"w");
	fprintf(out,"Longest - Shortest:\n");

	do
	{
		temp=FindStringFile(in);
		if (temp==NULL)
		{
			continue;
			fclose(temp);
		}
		fclose(temp);

		temp=fopen("d:\\temp.txt","r");
		n=0;
		do
		{
			word=FindWordFile(temp);
			if (word[0]==-1)
				continue;
			n++;
		}
		while(!feof(temp));
		fclose(temp);

		words=new char*[n];
		for (i=0;i<=n-1;i++)
			words[i]=new char[m];

		temp=fopen("d:\\temp.txt","r");
		n=0;
		do
		{
			words[n]=FindWordFile(temp);
			if (words[n][0]==-1)
				continue;
			n++;
		}
		while(!feof(temp));

		l=strlen(words[0]);
		p=0;
		for (i=1;i<=n-1;i++)
		{
			if (strlen(words[i])>l)
			{
				l=strlen(words[i]);
				p=i;
			}
		}
		fprintf(out,"%s - ",words[p]);

		l=strlen(words[0]);
		p=0;
		for (i=1;i<=n-1;i++)
		{
			if (strlen(words[i])<l)
			{
				l=strlen(words[i]);
				p=i;
			}
		}
		fprintf(out,"%s\n",words[p]);

		fclose(temp);
	}
	while (!feof(in));

	fclose(in);
	fclose(out);
	fclose(temp);
	remove("d:\\temp.txt");
}
Соседние файлы в папке Lab4