Autor
|
Tema: comparar cadenas (Leído 2,685 veces)
|
judithmateos
Desconectado
Mensajes: 5
|
Muy buenas estoy el 1º de ingeneria informatica, y me piden un ejercicio de comparar dos cadenas, simplemente decir si son iguales o no, y n se que me esta fallando que siempre me devuelve falso, alguien podria ayudarme por favor? mil gracias (me estoy volviendo loca )por cierto todo en c++ escribo el codigo abajo, #include <iostream> #include <string> using namespace std; /*declaracion de funciones*/ bool iguales (string cadena1,string cadena2); int main (void){ string cadena1,cadena2; cout<<"escriba la primera palabra: "<<endl; getline(cin,cadena1); cout<<"escriba la segunda palabra: "<<endl; getline(cin,cadena2); } /*funcion iguales*/ bool iguales (string cadena1,string cadena2){ if (cadena1==cadena2){ return true;} else return false; }
Engel Lex: Los codigos deben ir en etiquetas GeSHi
|
|
« Última modificación: 31 Agosto 2017, 19:59 pm por engel lex »
|
En línea
|
|
|
|
De{M}iuM
Desconectado
Mensajes: 39
|
Buenas tardes judith. Lo que debes hacer es comparar en primer lugar si tienen la misma longitud y a continuación comparar carácter a carácter #include <iostream> #include <string> using namespace std; /*declaracion de funciones*/ bool iguales (string cadena1,string cadena2); int main (void){ string cadena1,cadena2; cout<<"escriba la primera palabra: "<<endl; getline(cin,cadena1); cout<<"escriba la segunda palabra: "<<endl; getline(cin,cadena2); if (iguales(cadena1,cadena2)) { cout << "Son iguales" << endl; } else { cout << "Son distintas" << endl; } return 0; } /*funcion iguales*/ bool iguales (string cadena1,string cadena2){ if (strlen(cadena1) == strlen(cadena2)) { for (int i=0; i<strlen(cadena2); i++) { if (cadena1[i] != cadena2[i]) { return false; } } return true; } return false; }
|
|
|
En línea
|
|
|
|
engel lex
|
las cadenas son arrays, si hacer cadena1==cadena2 en realidad estás comparando los punteros base de ellas... es decir solo estás viendo si están en la misma dirección de memoria o no... para comparar cadenas debes usar de la librería string
si es 0 son iguales, si no es 0, no son iguales
|
|
|
En línea
|
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.
|
|
|
De{M}iuM
Desconectado
Mensajes: 39
|
que está aprendiendo cohone!! no le digas que use strcmp o no descubrirá que los arrays nos rodean jajajaja y con los punteros lo va a flipar
|
|
|
En línea
|
|
|
|
engel lex
|
eso fue por no decir if (cadena1.compare(cadena2) != 0)
XD
|
|
|
En línea
|
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Comparar cadenas sin usar strcmp
« 1 2 »
Programación C/C++
|
Rockmore
|
12
|
21,716
|
25 Octubre 2010, 07:01 am
por do-while
|
|
|
Intento comparar cadenas [novato]
« 1 2 3 »
Programación C/C++
|
barnix456
|
20
|
13,638
|
7 Mayo 2012, 20:37 pm
por barnix456
|
|
|
¿Comparar dos cadenas de caracteres en php?
PHP
|
Netstat89
|
5
|
11,145
|
1 Octubre 2012, 21:21 pm
por Shell Root
|
|
|
Error al comparar cadenas
Programación C/C++
|
amchacon
|
1
|
2,646
|
26 Enero 2013, 15:28 pm
por amchacon
|
|
|
Problema al comparar cadenas de caracteres [C]
Programación C/C++
|
S4ms3pi0l__
|
3
|
3,369
|
27 Noviembre 2017, 20:00 pm
por MAFUS
|
|