Código: C++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"; } Les agradezco de antemano su ayuda