Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab6 / Var02
.cpp#include<dir.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
int len(char *str)
{
int i=0;
while (str[i]!='.' && str[i]!=0)
i++;
return i;
}
char *name(char *str)
{
char *s;
int i=0;
s=new char[len(str)+1];
while (str[i]!='.' && str[i]!=0)
{
s[i]=str[i];
i++;
}
s[i]=0;
return s;
}
void main(int pnum, char *par[])
{
clrscr();
char *str;
int res, n=0, i, f=1, t=0;
struct ffblk found, *files;
if (pnum<=1)
par[1]="";
strcat(par[1],"*.*");
res=findfirst(par[1],&found,0);
while(!res)
{
n++;
res=findnext(&found);
}
if (n>0)
{
files=new ffblk[n];
n=0;
res=findfirst(par[1],&found,0);
while(!res)
{
files[n]=found;
n++;
res=findnext(&found);
}
}
while (f)
{
f=0;
for (i=0;i<=n-2;i++)
{
if (strcmp(files[i].ff_name,files[i+1].ff_name)>0)
{
found=files[i];
files[i]=files[i+1];
files[i+1]=found;
f=1;
}
}
}
f=0;
for (i=0;i<=n-2;i++)
{
if (strcmp(name(files[i].ff_name),name(files[i+1].ff_name))!=0)
{
if (f!=0)
{
printf("%s - %d\n",name(files[i].ff_name),f+1);
t+=f+1;
f=0;
}
}
else
f++;
}
if (f!=0)
printf("%s - %d\n",name(files[i].ff_name),f+1);
printf("Num of multi names: %d\n",t);
getch();
}