Tabla de contenido:

LLAMAS usando C ++: 8 pasos
LLAMAS usando C ++: 8 pasos

Video: LLAMAS usando C ++: 8 pasos

Video: LLAMAS usando C ++: 8 pasos
Video: 23. Getting Started with C++: Unary Scope Operator 2024, Mes de julio
Anonim
LLAMAS usando C ++
LLAMAS usando C ++
LLAMAS usando C ++
LLAMAS usando C ++

Hola amigos, todos sabemos sobre el juego de las llamas. Lol, es uno de los juegos más divertidos que hizo más feliz nuestra infancia. En este instructivo, veremos cómo codificar un programa flames usando el lenguaje C ++.

Paso 1: Conceptos utilizados

Conceptos utilizados
Conceptos utilizados

Aquí utilicé la lista circular doblemente enlazada.

Paso 2: función principal

int main ()

{

cadena nombre1, nombre2;

int n1, n2; cout << "INTRODUZCA EL PRIMER NOMBRE:"; getline (cin, nombre1); cout << "INTRODUZCA EL SEGUNDO NOMBRE:"; getline (cin, nombre2);

}

Primero, necesitamos obtener los dos nombres con espacio, así que uso la función getline () para obtener la cadena con espacio.

Paso 3: ¿Cómo omitir caracteres especiales?

void emit (string & a)

{

para (int i = 0; a ! = '\ 0'; i ++)

{

if (a > = 'a' && a <= 'z') {}

más si (a > = 'A' && a <= 'Z') {}

demás

a = '0';

}

}

Ahora, necesitamos eliminar los caracteres especiales como &, $, ''… etc. Al usar esta función, eliminamos todos los caracteres que no sean alfabetos. Aquí, en lugar de eliminarlo, lo reemplazo con '0'.

Paso 4: eliminar los mismos caracteres

para (i = 0; nombre1 ! = '\ 0'; i ++)

para (j = 0; nombre2 [j]! = '\ 0'; j ++)

if ((nombre1 == nombre2 [j] || nombre1 == nombre2 [j] +32))

{

nombre1 = '0';

nombre2 [j] = '0';

rotura;

}

Es el primer paso del juego de las llamas, que necesitamos eliminar los mismos personajes que se presentan en los dos nombres. Este fragmento de código nos ayuda a reemplazar los mismos caracteres por '0' y también funciona bien incluso si contiene mayúsculas y minúsculas. La declaración de ruptura nos ayuda a evitar la eliminación de caracteres repetidos.

j = 0; para (i = 0; nombre1 ! = '\ 0'; i ++)

si (nombre1 ! = '0')

j ++;

para (i = 0; nombre2 ! = '\ 0'; i ++)

si (nombre2 ! = '0')

j ++;

if (j == 0) cout << "NO HAY LLAMAS";

Aquí, eliminamos todos los "0" que están presentes en ambos nombres. Por lo tanto, finalmente, de todos modos, se eliminan los personajes. Luego se incrementa la j que es el recuento de las letras que están presentes en ambos nombres después de eliminar los mismos caracteres. Ahora tenemos que comprobar si contiene al menos un carácter o no. Para que el código sea eficiente, debemos decir que no hay posibilidad de jugar al juego de las llamas si no contiene caracteres únicos.

Paso 5: Crear una lista circular doblemente enlazada

cadena a = "llamas";

Primero, cree una cadena global que contenga "llamas".

typedef struct node {

datos de char;

nodo * siguiente, * anterior;

}nodo;

nodo * top = NULL, * temp;

Ahora, cree una estructura que contenga datos de caracteres, el puntero de la siguiente dirección y el puntero de la dirección anterior.

Luego cree un puntero que apunte hacia la parte superior de la lista vinculada.

nodo * ins (char a) {

nodo * nuevo1;

new1 = nuevo nodo;

nuevo1-> datos = a;

nuevo1-> siguiente = NULO;

nuevo1-> prev = NULL;

si (arriba == NULL)

{

top = new1;

temp = top;

}

demás

{

temp-> siguiente = nuevo1;

nuevo1-> prev = temp;

temp = new1;

}

volver arriba;

}

Luego, inserte la cadena "flames" en la lista doblemente enlazada por carácter.

verificación nula (int j) {

int count1, flag = 0;

para (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

Paso 6: Código para jugar a las llamas

Código para jugar a las llamas
Código para jugar a las llamas

verificación nula (int j)

{

int count1, flag = 0;

para (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

nodo * cur = top, * prev1;

temp-> siguiente = arriba;

top-> prev = temp;

mientras (1)

{

count1 = 1;

while (cuenta1 <j)

{

cur = cur-> siguiente;

count1 ++;

}

nodo * temp1 = cur;

prev1 = cur-> prev;

cur-> anterior-> siguiente = cur-> siguiente;

cur-> siguiente-> prev = cur-> anterior;

temp1-> siguiente = NULL;

gratis (temp1);

cur = prev1-> siguiente;

nodo * prueba = cur;

si (prueba-> datos == prueba-> siguiente-> datos)

rotura;

}

}

necesitamos ejecutar la lista circular que es la cadena "flames" de acuerdo con el recuento de caracteres únicos. Luego necesitamos eliminar el personaje en "llamas" que coinciden con el conteo. Deberíamos darnos cuenta del uso de una lista doblemente enlazada en este fragmento de código. Ayuda mucho eliminar un personaje en particular. Elimina continuamente. Hasta que llega a la condición de que los mismos personajes vengan repetidamente.

si (prueba-> datos == prueba-> siguiente-> datos) romper;

Paso 7: Informe el resultado

cambiar (cur-> datos)

{

case 'f': cout << "AMIGOS &&";

rotura;

case 'l': cout << "AMOR <3";

rotura;

caso 'a': cout << "AFECTO $";

rotura;

case 'm': cout << "MATRIMONIO:)";

rotura;

case 'e': cout << "ENEMIGO:(";

rotura;

case 's': cout << "HERMANO";

rotura; }

Utilice esta instrucción de cambio para decirle al resultado final que es el último carácter que queda después de eliminar todos los demás caracteres de acuerdo con el recuento.

Ahora puedes jugar a las llamas fácilmente con solo ingresar los nombres. Es divertido, ¿verdad? Juega a este juego usando los nombres de tus amigos y hazlos enojar LOL. Gracias.

Paso 8: Código para llamas

El código completo de FLAMES está disponible aquí, github.com/naveeen684/Flames-code-using-C-/tree/master