Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: estudiante_1 en 28 Diciembre 2015, 17:39 pm



Título: Decir si dos vectores son iguales en C
Publicado por: estudiante_1 en 28 Diciembre 2015, 17:39 pm
Hola, tengo que hacer un programa en C que me diga si dos vectores son iguales. Esto es lo que yo he hecho: Podeis decirme mis fallos? Gracias
Código:
#include<stdio.h>
#include<stdlib.h>

int soniguales(int v[5],int a[5]){
    int i;
for(i=0;i<5;i++){
if(v[i]=a[i]) return 1;
else return 0;
}





}




    int main(void){
    int v[5],a[5],i;
    for(i=0;i<5;i++){
    scanf("%d",&v[i]);
    }
    for(i=0;i<5;i++){
    scanf("%d",&a[i]);
    }for(i=0;i<5;i++){
    if(soniguales(v[5],a[5])) printf("Son iguales\n");
    else printf("No son iguales\n");


    }

    system("pause");
    return(0);

    }


Título: Re: Decir si dos vectores son iguales en C
Publicado por: 0xFer en 28 Diciembre 2015, 18:07 pm
Código
  1. if(v[i]=a[i])
Para comparar se usa "==" el "=" es para asignar.


Título: Re: Decir si dos vectores son iguales en C
Publicado por: estudiante_1 en 28 Diciembre 2015, 19:29 pm
Código
  1. if(v[i]=a[i])
Para comparar se usa "==" el "=" es para asignar.
Ya lo cambié, pero no me compila, los errores aparecen una vez después de haber insertado los dos vectores


Título: Re: Decir si dos vectores son iguales en C
Publicado por: 0xFer en 28 Diciembre 2015, 19:33 pm
Publica todo el código, además esa función que publicaste sólo compara el primer elemento del vector.

Edito: No habia visto que ya publicaste todo el código, mm creo que algo va mal con mi navegador( el problema es por el nuevo tema que estoy usando en el foro).

No te compila por esta linea:
Código
  1. if(soniguales(v[5],a[5]))
El parámetro que necesita tu función es un vector de 5 elementos, más el parámetro que estás pasando es un entero.

cámbilo por:
Código
  1. if(soniguales(v,a))


Título: Re: Decir si dos vectores son iguales en C
Publicado por: estudiante_1 en 29 Diciembre 2015, 10:36 am
vale gracias, ya me funcionó.