Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jc1992 en 8 Febrero 2013, 16:23 pm



Título: Comparar arrays en C
Publicado por: jc1992 en 8 Febrero 2013, 16:23 pm
Hola gente !! Pues vereis estoy metiendome en el mundo de C y voy por arrays

h ECONSEGUIDO

1 - Contar los digitos de las cadena , imprimir los valores guardados en la cadena , operar en el vector y introducir datos para sumnarlos.

Pero me gustaría tener un ejemplo de comparar las cadenas introducidas , por ejemplo

Hola (4) , pedro (5) , marcos (6)

alguna pista mas que nada.




Título: Re: Comparar arrays en C
Publicado por: leosansan en 8 Febrero 2013, 16:45 pm
          .............................................................................

Pero me gustaría tener un ejemplo de comparar las cadenas introducidas
http://www.cplusplus.com/reference/cstring/strcmp/
http://c.conclase.net/librerias/?ansifun=strncmp#inicio
http://c.conclase.net/librerias/?ansifun=strcmp#inicio
Saluditos!.


Título: Re: Comparar arrays en C
Publicado por: BatchianoISpyxolo en 8 Febrero 2013, 17:15 pm
Depende en qué manera desees comparar dos strings. En C existe la función strcmp(const char [], const char []) (de la librería string.h) que hace una comparación ASCII.

Según el criterio de comparación ASCII strcmp(s1,s2) devuelve:

salida = 0, si y sólo si, todos los caracteres de s1 son idénticos a los caracteres de s2. (Implícitamente se ve que la longitud de s1 es igual a la longitud de s2, pero la longitud no indica el orden de s1 respecto de s2).
salida > 0, si y sólo si, recorriendo los caracteres de s1 y s2 simultáneamente (de 0 a n-1) nos encontramos que s1_i > s2_i (comparando el nº ASCII) siempre y cuando no se cumpla que para cualquier s1_j < s2_j (j<i).
salida < 0, en otro caso. (si s1 es menor que s2)

Resumiendo: strcmp devuelve ->
 0 si s1 = s2
 1 si s1 > s2
-1 si s1 < s2

Piensa en cómo quieres comparar esos dos char arrays y luego diseña una función que lo haga.