Răspuns :
Răspuns:
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("decitit");
char sir[105],sir2[105],cuvinte[105][105];
int k=0,j=0,nr=0;
void citire()
{
fin.getline(sir, 105);
}
void creare(char *str)
{
int j=0,nr=0,ok=0,maxim=0;
char *pch;
for(int i=0 ; i<=strlen(str); i++)
{
if(str[i]!='a' && str[i]!='e' && str[i]!='i' && str[i]!='o' && str[i]!='u')
{
sir2[j]=str[i];
j++;
}
}
pch = strtok (sir2," ");
while (pch != NULL)
{
j=0;
for(int j=0; j<=strlen(pch); j++)
{
cuvinte[k][j]=pch[j];
}
pch = strtok (NULL, " ,.-");
k++;
}
/*for(int i=0; i<=15; i++)
{
for(int j=0; j<=15; j++)
{
cout<<cuvinte[i][j];
}
cout<<endl;
}*/
for(int i=0; i<k; i++)
{
for(int j=i+1; j<k; j++)
{
ok=0;
if( strlen(cuvinte[i]) > strlen(cuvinte[j]) )
maxim=strlen(cuvinte[i]);
else
maxim=strlen(cuvinte[j]);
for(int k=0; k<maxim; k++)
if(cuvinte[i][k]!=cuvinte[j][k])
ok=1;
if(ok==0)
nr++;
}
}
cout<<nr;
}
int main()
{
citire();
creare(sir);
return 0;
}
Explicație:
Refacem sirul fara vocale, stocam fiecare cuvant intr-o matrice, comparam elementele in matrice.