Dev - C++ - Caracteres iguales

 
Vista:
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 24/11/2016 22:40:42
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
#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;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp
Val: 82
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por vangodp (21 intervenciones) el 24/11/2016 23:23:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main () {
    char a, b;
    cout << "Introduce los caracteres: ";
    cin >> a;
    cin >> b;
 
    while ( a == b ){
 
        cout << "Has introducido dos caracteres iguales" << endl;
    }
    return 0;
}
No ponga punto y coma en while, es como si while( a==b ) fuera una cosa y el resto fuera otra cosa distinta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 24/11/2016 23:30:30
Hola,

Quizás no he planteado correctamente la duda, intento crear un programa que lea caracteres consecutivos, como por ejemplo.

asdfghjklqwsdfrtyur

Y finalice cuando repita dos de forma consecutiva:

asdfghjklqwsdfrtyurr

Mostrando el mensaje "Has introducido dos caracteres iguales"

Gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 968
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por agustin (522 intervenciones) el 25/11/2016 03:35:39
No te explicas bien ¿te refieres a que introduces una cadena de caracteres y la lees entera o hasta que haya dos iguales consecutivos? ¿algo así?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string.h>
using namespace std;
 
int main () {
    string str;
    cout << "Introduce los caracteres: ";
    cin >> str;
 
    for (int i =0; i  < str.length()-1 && str.length() >=2; i++){
        if (str[i] == str[i+1]){
            cout << "Has introducido dos caracteres iguales" << endl;
            break;
        }
    }
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 25/11/2016 12:29:51
Cierto, creo que no me expliqué bien...

El código funciona correctamente, pero se podría realizar con un while?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 968
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por agustin (522 intervenciones) el 25/11/2016 13:51:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
using namespace std;
 
int main () {
    string str;
    cout << "Introduce los 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;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 25/11/2016 17:27:03
Por lo que estoy viendo str es una cadena, pero cual es el contenido de string str;?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 968
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por agustin (522 intervenciones) el 25/11/2016 20:28:39
El que le introduzcas. string str declara una string que es mucho más que una cadena ya que es una clase con sus métodos, constructor...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 25/11/2016 20:36:13
Y se podría realizar con un char?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 968
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por agustin (522 intervenciones) el 26/11/2016 09:01:28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
using namespace std;
 
int main () {
    char str[50];
    cout << "Introduce los caracteres: ";
    cin >> str;
    int i=0;
    while (i  < strlen(str)-1 && strlen(str) >=2){
        if (str[i] == str[i+1]){
            cout << "Has introducido dos caracteres iguales" << endl;
            break;
        }
        i++;
    }
    return 0;
}
Cómo poderse se puede pero ya que estas en c++ es mejor aprovechar las cosas buenas de este.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Caracteres iguales

Publicado por merlindvd (17 intervenciones) el 26/11/2016 12:50:09
La programación es un mundo complicado de entender cuando todavía se tienen conocimientos muy básicos.

Muchas gracias por el aporte Agustín.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 968
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Caracteres iguales

Publicado por agustin (522 intervenciones) el 26/11/2016 23:05:14
Eso se arregla leyendo mucho, practicando, y preguntando lo que no se entienda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar