void cadincad(char*ptrcad1,char*ptrcad2)// muestra en pantalla si una cadena esta contenida en la otra;
int main(){
char cad1[50];
char cad2[50];
int rtrn,resp;
do{
cout<<"Escriba una cadena: ";
gets(cad1);
cout<<"nEscriba otra cadena: ";
gets(cad2);
cadincad(cad1,cad2);//llama a la funcion
do{
cout<<"n¿Desea comparar otras dos cadenas? (si=1 no=0) ";
cin>>resp;
}while(resp!=0&&resp!=1);
fflush(stdin);
}while(resp==1);
}
void cadincad(char*ptrcad1,char*ptrcad2){
char ref['N'];
long N;
int i=0,j=0,r=0;
if(strlen(ptrcad1)>strlen(ptrcad2)){
while(ptrcad2[i]!=' '){
for(j=0;j<strlen(ptrcad1);j++){
if(ptrcad2[i]!=ptrcad1[j]){
ref[r]=ptrcad2[i];
r++;break;
}
}
i++;
}
ref[r]=' ';
i=0;
if(ref[i]==ptrcad2[i])// si no le pongo el subindice no lo valida, por que?
cout<<"n"<<ptrcad2<<" esta contenida en "<<ptrcad1;
else cout<<"nNinguna cadena contiene a la otra";
}
i=0;
r=0;
if(strlen(ptrcad1)<strlen(ptrcad2)){
N=strlen(ptrcad1);
while(ptrcad1[i]!=' '){
for(j=0;j<strlen(ptrcad2);j++){
if(ptrcad1[i]!=ptrcad2[j]){
ref[r]=ptrcad1[i];
r++;break;
}
}
i++;
}
ref[r]=' ';
i=0;
if(ref==ptrcad2)// aca si lo valida sin el subindice
cout<<"n"<<ptrcad1<<" esta contenida en "<<ptrcad2;
else cout<<"nNinguna cadena contiene a la otra";
cout<<"n"<<ref;// por que no lo imprime?
cout<<"n"<<ptrcad1;// por que no lo imprime?
}
if(ptrcad1==ptrcad2)// por que no lo valida?
cout<<"Las cadenas son iguales";
}