Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: S4ms3pi0l__ en 28 Septiembre 2017, 00:29 am



Título: Problema en C
Publicado por: S4ms3pi0l__ en 28 Septiembre 2017, 00:29 am
Hice este problema:

En una hacienda hay un hato que se compone de N vacas. Diseñe un algoritmo que guarde en una matriz de dimensión 7xN la producción de leche diaria (en litros) de cada una de las vacas, durante una semana. Además, el algoritmo debe calcular la producción total del hato en cada uno de los siete días, y el número de la vaca que dio más leche en cada día.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char const *argv[])
  4. {
  5. int i, j, mat[7][50], N, total, mayor=0;
  6. do{
  7. printf("Cantidad de vacas:");
  8. scanf("%d",&N);
  9. }while(N<=0);
  10. system("cls");
  11. for(i=1;i<=N;i++){
  12. printf("Vaca #%d \n",i);
  13. for(j=1;j<=7;j++){
  14. do{
  15. printf("Cantidad de leche en el dia #%d \n",j);
  16. scanf("%d",&mat[i][j]);
  17. }while(mat[i][j]<=0);
  18. }
  19. mat[i][8]=mat[i][1]+mat[i][2]+mat[i][3]+mat[i][4]+mat[i][5]+mat[i][6]+mat[i][7];
  20. total=total+mat[i][8];
  21. if(mat[i][8]>mayor){
  22. mayor=mat[i][8];
  23. }
  24. system("cls");
  25. }
  26. printf("Total de produccion: %d lts \n",total);
  27. for(i=1;i<=N;i++){
  28. printf("Vaca #%d = %d lts \n",i, mat[i][8]);
  29. }
  30. system("PAUSE");
  31. return 0;
  32. }

Pero no tengo ni la menor idea sobre cómo puedo mostrar en pantalla el número de la vaca que ha producido más leche. Espero que puedan ayudarme.


Título: Re: Problema en C
Publicado por: S4ms3pi0l__ en 28 Septiembre 2017, 02:09 am
He solucionado yo mismo el problema. Se los dejo aquí abajo por si alguien no sabía cómo hacerlo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char const *argv[])
  4. {
  5. int i, j, mat[7][50], N, total, mayor=0, x=0;
  6. char value;
  7. bool salir = true;
  8. do{
  9. system("cls");
  10. do{
  11. printf("Cantidad de vacas: ");
  12. scanf("%d",&N);
  13. }while(N<=0);
  14. system("cls");
  15. for(i=1;i<=N;i++){
  16. printf("Vaca #%d \n",i);
  17. for(j=1;j<=7;j++){
  18. do{
  19. printf("Cantidad de leche en el dia #%d \n",j);
  20. scanf("%d",&mat[i][j]);
  21. }while(mat[i][j]<=0);
  22. }
  23. mat[i][8]=mat[i][1]+mat[i][2]+mat[i][3]+mat[i][4]+mat[i][5]+mat[i][6]+mat[i][7];
  24. total=total+mat[i][8];
  25. if(mat[i][8]>mayor){
  26. mayor=mat[i][8];
  27. x=i;
  28. }
  29. system("cls");
  30. }
  31. printf("La vaca que produjo mas leche fue la #%d \n",x);
  32. for(i=1;i<=N;i++){
  33. printf("Vaca #%d = %d lts \n",i, mat[i][8]);
  34. }
  35. printf("\nTotal de produccion: %d lts \n",total);
  36. do{
  37. printf("\n\n Desea continuar? [S/N]: ");
  38. scanf("%s",&value);
  39. }while((value!='S') && (value!='s') && (value!='N') && (value!='n'));
  40. printf("\n");
  41. if(value=='n' || value=='N'){
  42. salir = false;
  43. }
  44. }while(salir==true);
  45. system("PAUSE");
  46.  
  47. return 0;
  48. }