[C++] repetir hasta ingresar 2 caracteres iguales

Iniciado por Merlindvd, 24 Noviembre 2016, 22:23 PM

0 Miembros y 2 Visitantes están viendo este tema.

Merlindvd

Hola a todos!
Estoy realizando un programa en C++ que me compruebe los caracteres introducidos y finalice cuando se pongan dos caracteres iguales consecutivos. Lo estoy haciendo con una sentencia while con una condición de entrada, pero no ejecuta la sentencia. Alguien puede ayudarme.
Muchas gracias.

Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

int main ()
{
char a,b;
cout<<"Introduce los caracteres: ";
cin>>b;
cin>>a;
   while(a!=b);{
   cout<<"Has introducido dos caracteres iguales"<<endl;}
return 0;
}


Konlex

#1
lo que pasa es que estas poniendo mal un signo,en vez del !=(que es "diferente que"),tendrias que usar ==(que es para comparar si son iguales).Y otra cosa,usa mejor If.Te quedaria asi:
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main ()
{
char a,b;
cout<<"Introduce los caracteres: ";
cin>>b;
cin>>a;
   if(a==b);{
   cout<<"Has introducido dos caracteres iguales"<<endl;}
return 0;
}
La felicidad no es continua todos los dias de tu vida,sino que se presenta en momentos en que menos te los esperas.No pienses que eres infeliz,solo que no te das cuenta que ella se presenta en breves momentos de tu vida,y no la sabes valorar.

Merlindvd

Hola,

He utilizado while para poder introducir varios caracteres mientras se cumpla la condición de que son diferentes, y al introducir dos iguales finalice el programa.
Por ejemplo:
asdfghjkll, ahí finalice.

Gracias

Konlex

ah,no te habia entendido bien xD
Es asi:
   #include <iostream>
   using namespace std;
   
   int main ()
   {
   char a,b;
   do{
    cout<<"Introduce la primera letra:";
    cin>>a;
    cout<<"Introduce la segunda letra:";
    cin>>b;
}
       while(a!=b);{
       cout<<"Has introducido dos caracteres iguales"<<endl;}
   return 0;
   }
   


saludos!
La felicidad no es continua todos los dias de tu vida,sino que se presenta en momentos en que menos te los esperas.No pienses que eres infeliz,solo que no te das cuenta que ella se presenta en breves momentos de tu vida,y no la sabes valorar.

engel lex

#4
hay algo que no han visto... el ";" despues del while, este codigo en realidad está haciendo esto


Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main ()
{
char a,b;
cout<<"Introduce los caracteres: ";
cin>>b;
cin>>a;
   while(a!=b){}

cout<<"Has introducido dos caracteres iguales"<<endl;
return 0;
}



para lo que tu quieres es mejor un do-while


Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main (){
   char a,b;
   do{
       cout<<"Introduce los caracteres: ";
       cin>>b;
       cin>>a;
   }while(a!=b);
   cout<<"Has introducido dos caracteres iguales fin programa"<<endl;
return 0;
}



El titulo del tema debe ser descriptivo, modificado
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Merlindvd

Hola,

He realizado la prueba introduciendo los caracteres asdff y me da el siguiente resultado:
Introduce los caracteres: asdff
Introduce los caracteres: Introduce los caracteres: asdff
Introduce los caracteres: Introduce los caracteres: Has introducido dos caracteres iguales fin programa

Lo correcto sería:
Introduce los caracteres: asdff
Has introducido dos caracteres iguales fin programa

engel lex

Ahhh! Pero entonces tienes que almacenar el contenido en un arreglo de char (o un string si sabes cómo usarlo) y recorrerlo con un for buscando coincidencias
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Merlindvd

Eso es, almacenar una arreglo de char. Veo que se está complicando un poco  >:(

engel lex

Cita de: Merlindvd en 25 Noviembre 2016, 17:48 PM
Eso es, almacenar una arreglo de char. Veo que se está complicando un poco  >:(

Si, es más complicado xD pero es literalmente las bases de cualquier programa, los arreglos y matrices son sumamente básicos e importantes de saber usar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Merlindvd

Pues necesito ayuda...no tengo claro como definir esos arreglos.
Me podrías ayudar con el código? ;)