Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Naster00

#1
Gracias de nuevo a los 2!
#2
Muchas gracias!! ya sé cómo es el algoritmo.
Yo lo he programado así, es interesante ver cómo otros programan ;D
Código (cpp) [Seleccionar]
bool CirculIgual(string uno, string dos){
bool res = true;
if(uno.size() == dos.size()){
bool found = false;
int dossize = dos.size();
int indice;
for(int i = 0; i < dossize && !found; i++){
if (uno[0] == dos[i]){
indice = i;
found = true;
}
}
if(found){
int j = 1;
for(int i = indice+1; i != indice && res;i++){
if(i == dossize)
i = 0;
if(uno[j] != dos[i])
res = false;
j++;
}
}

} else{
res = false;
}
return res;
}
#3
Tengo que hacer una función que reciba dos cadenas de caracteres cualesquiera y devuelva (cierto o falso) si son circularmente iguales. Son circularmente iguales si ambas contienen exactamente los mismos caracteres, y ordenados de la misma forma, pero empezando por puntos distintos. Por ejemplo: "aviacion" y "cionavia".

He estado probando y no me sale, no se me ocurre un algoritmo que funcione con cualquier par de palabras. ¿Alguien me puede echar un cable? Me vale pseudocódigo, el problema es que no se me ocurre el algoritmo, no la programación en C++ en sí.
Gracias.