TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Medusa en 16 de Diciembre de 2011, 14:09:07

Título: Como comarar dos arrays
Publicado por: Medusa en 16 de Diciembre de 2011, 14:09:07
Hola, alguien me puede decir como puedo comparar dos arrays con el mismo numero de elementos ...hay alguna funcion que pueda usar?
Título: Re: Como comarar dos arrays
Publicado por: MerLiNz en 16 de Diciembre de 2011, 14:26:47
char compara(char *array1, char *array2, char tam) {
char x=0;
while(x++<tam) if(*array++!=*array2++) return 0;
return 1;
}

compara(&array1[0],&array2[0],10);
Título: Re: Como comarar dos arrays
Publicado por: gera en 16 de Diciembre de 2011, 15:37:40
Si tu array es un string, tenes la funcion strcmp() en la libreria string.h
Si no podes restar cada par de elementos, si devuelve 0, es porq son iguales.
Saludos!!
Título: Re: Como comarar dos arrays
Publicado por: andres1308 en 23 de Mayo de 2013, 22:16:47
Buen dia
tambien presento el mismo problema necesito comparar dos array de 11 elementos cada uno
he usado el strcmp pero siempre me dice que es igual el uno al otro
me podrian ayudar haber si hay una forma diferente de hacerlo
Gracias
Título: Re: Como comarar dos arrays
Publicado por: cguzman en 28 de Mayo de 2013, 18:18:47
Buenas

Puedes compara todo el string con

strcmp( if ( array1 , array2 ) == 0 ) { xxxxxxxxxx }
 
o

lo puedes hacer con un bucle

for( x=0 ; x <10 ; x++ )
{
if( array1
{
xxxxxxxxxx
}
}
 te explico
x=0;
en x< 10 es un valor por default pero si tu array son de 20 pones for( x=0 ; x<=20 ; x++ )
y asi dependiendo el numero de caracteres que tenga tu matris.