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.
#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;
}
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:
#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;
}
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
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!
hay algo que no han visto... el ";" despues del while, este codigo en realidad está haciendo esto
#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
#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
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
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
Eso es, almacenar una arreglo de char. Veo que se está complicando un poco >:(
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
Pues necesito ayuda...no tengo claro como definir esos arreglos.
Me podrías ayudar con el código? ;)
te recomiendo leerte un tutorial de c++, los arreglos los tocarán en los primeros temas, intentar armar algo y pedir ayuda si te trancas
Me podrías ayudar con este código. Está hecho con un string, sería posible realizarlo con un arreglo de char?
#include <iostream>
#include <string.h>
using namespace std;
int main () {
string str;
cout << "Introduce caracteres: ";
cin >> str;
int i=0;
while (i < str.length()-1 && str.length()>=2){
if (str[i] == str[i+1]){
cout << "Has introducido dos caracteres iguales" << endl;
break;
}
i++;
}
return 0;
}
CoAdm: los códigos deben ir en etiquetas GeSHi
El ciclo es igual, pero el arreglo de char debe ser declarado on un tamaño fijo, para saber el largo debes usr strlen y de resto se mantiene todo igual...
Muchas gracias por el aporte! ;)