Version:0.9 StartHTML:0000000105 EndHTML:0000003647 StartFragment:0000000152 EndFragment:0000003613
/******************************************************/
/*************** Isidro Pastor Jorda ******************/
/******************************************************/
/****************** Telematica ************************/
/******************************************************/
/************* Practica 7 Ejercicio 4 *****************/
/******************************************************/
#include <iostream.h>
#include <stdlib.h>
#include <string>
int main()
{
string palabra1, palabra2;
int encontrado,i;
cout << " Programa indicador de palabras anagrama \n";
cout << " Introduce la primera palabra -> ";
getline(cin,palabra1); // leemos las palabras introducidas por teclado
cout << "\n Introduce la segunda palabra -> ";
getline(cin, palabra2);
encontrado = 0; // inicializamos las variables
i = 0;
/* Repetiremos el bucle mientras que encontremos las letras de la palabra 1
en la palabra 2, si no encuentra una letra devolvera un -1 por lo que saldremos
del bucle y no seran anagramas, pero si terminamos comprobando toda la longitud de
la palabra1 entonces una sera anagrama de la otra, esta sera otra condicion para
salir del bucle de comprobaciones */
while ( ( encontrado != -1 ) && (i <= palabra1.length() ) )
{
encontrado = palabra2.find(palabra1[i]); // buscamos el caracter de la entrada i de palabra1 en palabra2
i++; // incrementamos el contador para posicionarnos en la siguiente posicion del string palabra1
}
if ( encontrado == -1) // si hemos salido por no encontrar una letra entonces no son anagramas
cout << "\n Las palabras no son anagramas \n";
else // en caso contrario hemos salido por haber comprobado todas las letras de palabra1 y entonces son anagramas
cout << "\n Las palabras son anagramas, contienen las mismas letras \n";
system("PAUSE");
return 0;
}