Pagini recente » Cod sursa (job #841452) | Cod sursa (job #1144458) | Cod sursa (job #285885) | Cod sursa (job #603424) | Cod sursa (job #554516)
Cod sursa(job #554516)
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
int l[100]={0},n;
char a[300];
using namespace std;
int main()
{
fstream f;
f.open("salut.txt",ios::in);
char *sup,x[100][30],mop[30];
int i=0,max=0,lmax,p,j,n=0,nrtot=0;
while(f>>mop)
{
strcat(a,mop);
strcat(a," ");
}
sup=strtok(a," ");
while(sup)
{
i++;
strcpy(x[i],sup);
sup=strtok(NULL," ");
}
nrtot=i;
cout<<"nr tot de cuvinte:"<<nrtot<<'\n'<<'\n';
n=i;
max=0;
for(i=n;i>=1;i--)
{
lmax=0;
for(j=i+1;j<=n;j++)
{
if(x[j][0]==x[i][strlen(x[i])-1] && l[j]>lmax)
lmax=l[j];
l[i]=1+lmax;
if(l[i]>max)
{
max=l[i];
p=i;
}
}
}
cout<<"Numarul maxim de cuvinte ce pot fi eliminate:"<<nrtot-max<<'\n'<<'\n';
cout<<"Sirul de cuvinte este:"<<'\n';
cout<<x[p]<<'\n';
max--;
while(max)
{
i=p+1;
while(x[p][0]==x[i][strlen(x[i])-1] || l[i]!=max) i++;
cout<<x[i]<<'\n';
max--;
p=i;
}
f.close();
}