Título: DETERMINAR MAYOR O MENOR EN ARREGLO
Publicado por: wazausky en 12 Noviembre 2012, 07:34 am
Hola, miren, necesito determinar cual es el modelo que mas se vende (suma por columnas) y cual es el vendedor que mas vende (suma por renglones) y despues necesito mostrar cual es el modelo que mas se vende, por ejemplo: EL MODELO QUE MAS SE VENDE ES: M5 y de igual forma mostrar el vendedor que mas vende, e.g.: EL VENDEDOR QUE MAS VENDE ES: Miguel Como siempre, a quien me ayude muchas gracias :D #include <stdio.h> #include <stdlib.h> /*Ejercicio 5: una agencia de carros tiene 15 modelos de autos y 10 vendeores se desea conocer que modelo se vende mas, quien es el vendedor que vende mas y el total de autos que vende la agencia*/ int main(int argc, char *argv[]) { int x, y, agencia[10][15], SC, SR, TA; char vendedor[10][40]={{"Ruben"},{"Ivonne"},{"Jesus"}, {"Nayelli"},{"Miguel"},{"Angel"},{"Carlos"},{"Marco"},{"Lupe"}, {"Lupita"}}; printf("Agencia de carros a ver si ahorra, S.A. de C.V.\n\n"); printf("\t\tM1\tM2\tM3\tM4\tM5\tM6\tM7\tM8\tM9\tM10\tM11\t\tM12\tM13\tM14\tM15\t TOTAL\n\n"); /*SE GENERA LA TABLA*/ for (x=0; x<10; x++) { for (y=0; y<15; y++) { agencia[x][y] = rand()%4; } } /*SUMA POR RENGLONES*/ TA = 0; for (x=0; x<10; x++) { printf("%s\t\t", vendedor[x]); SR = 0; for (y=0; y<15; y++) { printf("%i\t", agencia[x][y]); SR = SR + agencia[x][y]; } TA = TA + SR; printf(" %i\n\n", SR); } /*SUMA POR COLUMNAS*/ printf("TOTAL\t\t"); for (y=0; y<15; y++) { SC = 0; for (x=0; x<10; x++) { SC = SC + agencia[x][y]; } printf("%i\t", SC); } printf("\n\nEL TOTAL DE AUTOS VENDIDOS ES: %i\n\n", TA); system("PAUSE"); return 0; }
Título: Re: DETERMINAR MAYOR O MENOR EN ARREGLO
Publicado por: C_1^N en 12 Noviembre 2012, 14:10 pm
Hola wazausky! Para saber el vendedor que mas autos ha vendido simplemente podes ir almecenando el total del vendedor que mas ha vendido hasta el momento, usas una variable inicializada en 0 y con el total de cada vendedor vas comparando el anterior resultado si es mayor guardas el nombre del vendedor en un array(o con el indice de las filas de la matriz vendedor) sino pasa al siguiente. Para el modelo mas vendido lo podrias hacer usando el subindice de las columnas y mediante comparaciones de los resutados de modelos mas vendidos, pero guardar la posicion de la columna, al finalizar ese subindice tendra el valor de la columna con el modelo mas vendido. Para mostrarlo solo haces printf("Modelo M%d\n", i);
Saludos!
Título: Re: DETERMINAR MAYOR O MENOR EN ARREGLO
Publicado por: leosansan en 12 Noviembre 2012, 14:53 pm
Fíjate en srand(time(0) y el uso de la librería time, para que no salgan siempre los mismos valores. Por lo demás quedaría algo así: #include <stdio.h> #include <stdlib.h> #include <time.h> /*Ejercicio 5: una agencia de carros tiene 15 modelos de autos y 10 vendeores se desea conocer que modelo se vende mas, quien es el vendedor que vende mas y el total de autos que vende la agencia*/ int main(int argc, char *argv[]) { int x, y, agencia[10][15], SC, SR, TA,modelo=0,modelo1=0,Vendedor; char vendedor[10][40]={{"Ruben"},{"Ivonne"},{"Jesus"}, {"Nayelli"},{"Miguel"},{"Angel"},{"Carlos"},{"Marco"},{"Lupe"}, {"Lupita"}}; printf("Agencia de carros a ver si ahorra, S.A. de C.V.\n\n"); printf("\tM1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 TOTAL\n\n"); srand(time(0)); /*SE GENERA LA TABLA*/ for (x=0; x<10; x++) { for (y=0; y<15; y++) { agencia[x][y] = rand()%4; } } /*SUMA POR RENGLONES*/ TA = 0; for (x=0; x<10; x++) { printf("%s\t ", vendedor[x]); SR = 0; for (y=0; y<15; y++) { printf("%d ", agencia[x][y]); SR = SR + agencia[x][y]; }if (SR>modelo) {modelo=SR;Vendedor=x;} TA = TA + SR; printf(" %i\n\n", SR); } /*SUMA POR COLUMNAS*/ printf("TOTAL\t"); modelo=0; for (y=0; y<15; y++) { SC = 0; for (x=0; x<10; x++) { SC = SC + agencia[x][y]; }if (SC>modelo) {modelo=SC;modelo1=y;} printf("%d ", SC); } printf("\n\nEL MODELO MAS VENDIDOS ES: M%d\n\n", modelo1+1); printf("\n\nEL MEJOR VENDEDOR ES: %s\n\n", vendedor[Vendedor]); system("PAUSE"); return 0; }
Saludos!.
|