Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab4 / Var3
.cpp#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
const m=15;
char *FindWordFile(FILE *in)
{
char c=0, n=0, i, f=0, *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);
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()
{
clrscr();
char inname[]="d:\\in.txt", outname[]="d:\\out.txt", *word;
int n=0, *num, i;
FILE *in, *out;
in=fopen(inname,"r");
out=fopen(outname,"w");
num=new int[m];
for (i=0;i<=m-1;i++)
num[i]=0;
while (!feof(in))
{
word=FindWordFile(in);
if (word==NULL)
continue;
num[strlen(word)-1]++;
n++;
}
fprintf(out,"Total number of words: %d\n",n);
if (num[0]!=0)
fprintf(out,"1 letter: %d\n",num[0]);
for (i=1;i<=m-1;i++)
if (num[i]!=0)
fprintf(out,"%d letters: %d\n",i+1,num[i]);
fclose(in);
fclose(out);
}