Comparando cadenas
como puedo comparar tres cadenas de texto y ordenarlas alfabeticamente.
en caso de que uses char* para guardar cadenas:
#include <string.h>
.
.
.
strcmp(cad1,cad2);
.
.
.
esto retorna verdadero si son iguales.
#include <string.h>
.
.
.
strcmp(cad1,cad2);
.
.
.
esto retorna verdadero si son iguales.
Bueno, casi.
int strcmp(const char *s1, const char *s2);
devuelve 0 cuando las cadenas son iguales; un número <0 cuando s1 es menor (lexicográficamente) que s2; o un número mayor que 0 cuando s1 es mayor que s2.
Para una comparación donde no importen mayúsculas o minúsculas, puede usarse:
int stricmp(const char *s1, const char *s2);
Alejandro
int strcmp(const char *s1, const char *s2);
devuelve 0 cuando las cadenas son iguales; un número <0 cuando s1 es menor (lexicográficamente) que s2; o un número mayor que 0 cuando s1 es mayor que s2.
Para una comparación donde no importen mayúsculas o minúsculas, puede usarse:
int stricmp(const char *s1, const char *s2);
Alejandro
La clase string ( #include <string> ) de c++ trae implementada la comparación lexiográfica de cadenas mediante el operador <= o < simplemente.
Ejemplito:
string s1 = "abc";
string s2= "def"
si hicieras la comparación s1<s2 devolvería true.
Usando este operador puedes implementar un algoritmo de ordenación similar al que emplearías para números enteros.
Un saludo.
Ejemplito:
string s1 = "abc";
string s2= "def"
si hicieras la comparación s1<s2 devolvería true.
Usando este operador puedes implementar un algoritmo de ordenación similar al que emplearías para números enteros.
Un saludo.
