Título: Ayuda en lenguaje c basico con funciones
Publicado por: Roga en 17 Mayo 2017, 02:48 am
Buenas tengo un problemas no quiere entrar en los if`s. Ademas uso funciones porque lo piden en el anunciado de la guia. muchas gracias. /*Hacer un programa en Lenguaje C que permita cargar dos vectores con cinco números enteros cada uno y determinar lo siguiente: ¿Cuál es el número mayor de los dos vectores?*/ #include<stdio.h> void mayor(int numerosa[2][4]); int main(){ int vector,vectora,numeros[2][4]; printf("Cargue 2 listas de 5 numeros para definir el mayor de cada uno.\n"); for(vector=0;vector<2;vector++){ for(vectora=0;vectora<5;vectora++){ printf("Cargue el valor %d de la lista %d:",vectora +1,vector +1); scanf("%d",&numeros [vector ][vectora ]); } } mayor(numeros); return 0; } void mayor(int numerosa[2][4]){ int filas,columnas,mayora,mayorb; mayora=0; mayorb=0; for(filas=0;filas<2;filas++){ for(columnas=0;columnas<5;columnas++){ if(filas==0){ if(numerosa[filas][columnas]>numerosa[filas][columnas]){ mayora=numerosa[filas][columnas]; } } if(filas==1){ if(numerosa[filas][columnas]>numerosa[filas][columnas]){ mayorb=numerosa[filas][columnas]; } } } } printf("El valor mayor de la primera lista es=%d.\nEl valor mayor de la segunda lista es=%d.",mayora ,mayorb ); }
Título: Re: Ayuda en lenguaje c basico con funciones
Publicado por: engel lex en 17 Mayo 2017, 02:52 am
if(numerosa[filas][columnas]>numerosa[filas][columnas]) no entra porque un numero nunca es mayor a si mismo
Título: Re: Ayuda en lenguaje c basico con funciones
Publicado por: Roga en 17 Mayo 2017, 02:57 am
me falto pasar mas codigo :-(. porque lo modifique y se me olvido modificarlo hasta donde para mi esta bien. pero por falta de conocimiento no me da. gracias :D por comentar. ya vi mi error gracias. ya lo modifico.
Gracias!!!. por ayudarme a ver mi error. al final quedo asi. /*Hacer un programa en Lenguaje C que permita cargar dos vectores con cinco números enteros cada uno y determinar lo siguiente: ¿Cuál es el número mayor de los dos vectores?*/ #include<stdio.h> void mayor(int numerosa[2][5]); int main(){ int vector,vectora,numeros[2][5]; printf("Cargue 2 listas de 5 numeros para definir el mayor de cada uno.\n"); for(vector=0;vector<2;vector++){ for(vectora=0;vectora<5;vectora++){ printf("Cargue el valor %d de la lista %d:",vectora +1,vector +1); scanf("%d",&numeros [vector ][vectora ]); } } mayor(numeros); return 0; } void mayor(int numerosa[2][5]){ int filas,columnas,mayora,mayorb,aux,auxa; mayora=0; mayorb=0; for(filas=0;filas<2;filas++){ for(columnas=0;columnas<5;columnas++){ if(filas==0){ if(columnas==0){ aux=numerosa[filas][columnas]; } if(columnas>0){ if(aux<numerosa[filas][columnas]){ mayora=numerosa[filas][columnas]; aux=numerosa[filas][columnas]; } } } if(filas==1){ if(columnas==0){ auxa=numerosa[filas][columnas]; } if(columnas>0){ if(auxa<numerosa[filas][columnas]){ mayorb=numerosa[filas][columnas]; auxa=numerosa[filas][columnas]; } } } } } printf("El valor mayor de la primera lista es=%d.\nEl valor mayor de la segunda lista es=%d.",mayora ,mayorb ); }
se agradece si me ayudan a optimizarlo. · No hagas doble post >aquí las reglas del foro (http://foro.elhacker.net/reglas.htm) -Engel Lex
Título: Re: Ayuda en lenguaje c basico con funciones
Publicado por: engel lex en 17 Mayo 2017, 04:06 am
para optimiarlo, cambia aux a 0 si son numeros solo positivos o al minimo si son con signo así te ahorras los condidicionales comumna == y columna >
en lugar de usar mayora y mayorb, usa num_mayor[2] (coloqué num para uqe no no coincida con el nombre de la funcion), así no necesitas repetir el proceso, sino que accedes de una vez con el valor de filas
|