Autor
|
Tema: Decir si dos vectores son iguales en C (Leído 4,663 veces)
|
estudiante_1
Desconectado
Mensajes: 47
|
Hola, me encuentro con el mismo problema que con las matrices, en este caso con vectores. Tengo que compararlos y ver si son iguales. este es el código: #include<stdio.h> #include<stdlib.h>
int soniguales(int v[5],int a[5],int aux){ int i; for(i=0;i<5;i++){ if(v[i]!=a[i]) { aux=1; } } return (aux); }
int main(void){ int v[5],a[5],i,aux; for(i=0;i<5;i++){ scanf("%d",&v[i]); } for(i=0;i<5;i++){ scanf("%d",&a[i]); } soniguales(v,a,aux);
if(aux==1) printf("Son distintos\n"); else printf("Son iguales");
system("pause"); return(0);
}
|
|
|
En línea
|
|
|
|
user-marcos
Desconectado
Mensajes: 159
|
No tiene mucho sentido la variable aux, y recuerda que soniguales es un función y por lo tanto te devuelve un valor, y como tu lo tienes no la utilizas como tal, te pongo una posible solución int soniguales(int v[],int a[]){ int i; for(i=0;i<5;i++) if(v[i]!=a[i]) return 1; return 0; } int main(void){ int v[5],a[5],i; for(i=0;i<5;i++){ } for(i=0;i<5;i++){ } if(soniguales (v ,a )) printf("Son distintos\n"); return(0); }
|
|
« Última modificación: 4 Enero 2016, 12:54 pm por user-marcos »
|
En línea
|
|
|
|
estudiante_1
Desconectado
Mensajes: 47
|
int soniguales(int v[],int a[]){ int i; for(i=0;i<5;i++) if(v[i]!=a[i]) return 1; return 0; }
Pero así solo comparas la primera iteracción.
|
|
|
En línea
|
|
|
|
user-marcos
Desconectado
Mensajes: 159
|
El bucle sólo para cuando haya encontrado un elemento distinto o cumpla la condición que le has puesto i < 5.
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
A ver, voy a explicar como hacer una buena interfaz de función. Una vez pensado un buen nombre, descriptivo de lo que hace, muy importante pensar que datos necesitamos pasarle para que haga su trabajo. Hay que pasarle solo esos datos. La lista de argumentos no debe servir para crear variables locales, como haces con aux. Esas ya se declararán dentro de la función. También debemos pensar en si la función nos debe devolver un resultado y qué resultado necesitamos que nos devuelva. Teniendo claro eso podremos empezar a pensar como debe hacer su trabajo.
|
|
|
En línea
|
|
|
|
JavierScars
Desconectado
Mensajes: 116
|
El código que te pasaron esta bien .
Y al tuyo le definiste aux como entero pero no le diste ningún valor y lo pasaste como argumento. 1) No hay necesidad de usar aux. 2) Si lo quieres usar para tu comodidad mejor definelo y dale un valor dentro de la función que lo usa no en main() donde es inutil. Recuerda que la función que hiciste es de tipo entero por lo tanto puedes colocarla a ella en la condición para el if en vez de usar el aux
Saludos
|
|
« Última modificación: 4 Enero 2016, 15:09 pm por JavierScars »
|
En línea
|
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad, y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Rnd iguales
Programación Visual Basic
|
monro
|
3
|
2,810
|
7 Abril 2010, 21:23 pm
por monro
|
|
|
IPs iguales
Dudas Generales
|
the_lokadio
|
9
|
6,051
|
24 Junio 2010, 13:25 pm
por the_lokadio
|
|
|
C++ Mas iteradores, con vectores de vectores ¡ juerga !
Programación C/C++
|
Orubatosu
|
1
|
2,804
|
4 Diciembre 2014, 17:18 pm
por Eternal Idol
|
|
|
Decir si dos vectores son iguales en C
Programación C/C++
|
estudiante_1
|
4
|
7,950
|
29 Diciembre 2015, 10:36 am
por estudiante_1
|
|
|
ayuda por favor tiene que correr solo si los vectores son iguales
Programación C/C++
|
mariano19
|
0
|
1,362
|
7 Noviembre 2018, 20:54 pm
por mariano19
|
|