Autor Tema: Como comarar dos arrays  (Leído 1738 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Como comarar dos arrays
« 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?

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Como comarar dos arrays
« Respuesta #1 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);

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Como comarar dos arrays
« Respuesta #2 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!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado andres1308

  • PIC10
  • *
  • Mensajes: 5
Re: Como comarar dos arrays
« Respuesta #3 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

Desconectado cguzman

  • PIC10
  • *
  • Mensajes: 16
Re: Como comarar dos arrays
« Respuesta #4 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
  • == array2
  • )

{
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.

« Última modificación: 28 de Mayo de 2013, 18:23:59 por cguzman »