Día 2. Pregunta Al->An:
Tendrás dos cadenas de caracteres, el ejercicio trata de averiguar si quitando caracteres a la segunda cadena podemos obtener la primera. Ejm:
cadena1: ana
cadena2: mariana
RPT: si es posible
cadena1: cara
cadena2: cicatrizar
RPT: si es posible
cadena1: Oso
cadena2: perezoso
RPT: no es posible
cadena1:hola
cadena2:aloh
RPT: no es posible
Resolución:
#include<iostream>
#include<string.h>
using namespace std;
main()
{
char *cadena1, *cadena2;
short int tam1, tam2, i=0, j=0, k=0;
for(;;){
i=j=0;
cadena1=new char[1];
cadena2=new char[1];
cin>>cadena1; cin>>cadena2;
tam1=strlen(cadena1); tam2=strlen(cadena2);
while(j<tam1 && i<tam2)
{
if (cadena1[j]==cadena2[i])
{
cadena1[j]='\0'; j++;
}
i++;
}
if(cadena1[tam1-1]=='\0') cout<<"SI ESTA"<<endl;
else cout<<"NO ESTA"<<endl;
if(cadena1[0]=='\0') break;
delete[] cadena1; delete[] cadena2;
}
delete[] cadena1; delete[] cadena2;
system("pause");
}
cadena1: ana
cadena2: mariana
RPT: si es posible
cadena1: cara
cadena2: cicatrizar
RPT: si es posible
cadena1: Oso
cadena2: perezoso
RPT: no es posible
cadena1:hola
cadena2:aloh
RPT: no es posible
Resolución:
#include<iostream>
#include<string.h>
using namespace std;
main()
{
char *cadena1, *cadena2;
short int tam1, tam2, i=0, j=0, k=0;
for(;;){
i=j=0;
cadena1=new char[1];
cadena2=new char[1];
cin>>cadena1; cin>>cadena2;
tam1=strlen(cadena1); tam2=strlen(cadena2);
while(j<tam1 && i<tam2)
{
if (cadena1[j]==cadena2[i])
{
cadena1[j]='\0'; j++;
}
i++;
}
if(cadena1[tam1-1]=='\0') cout<<"SI ESTA"<<endl;
else cout<<"NO ESTA"<<endl;
if(cadena1[0]=='\0') break;
delete[] cadena1; delete[] cadena2;
}
delete[] cadena1; delete[] cadena2;
system("pause");
}
Código fuente: http://www.mediafire.com/view/?5q1pcc66n1yhe9o
No hay comentarios:
Publicar un comentario