elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Nuevo problema
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Nuevo problema  (Leído 2,666 veces)
kayron8

Desconectado Desconectado

Mensajes: 28


¡Tú mismo con tu mecanismo!


Ver Perfil WWW
Nuevo problema
« en: 31 Marzo 2013, 14:07 pm »

Hola buenos días, pues aquí tengo otro ejercicio problemático, espero que me puedan ayudar (me aparece todo 0 de nuevo):

La práctica consiste en implementar una aplicación usando funciones.
El programa en C gestionará la realización de determinadas operaciones en un vector de enteros de MAX (6, per ejemplo) posiciones:
  • Introducción de todos los elementos del vector (Altas).
  • Visualización de todos los elementos (Listado).
  • Visualización del elemento que se encuentra en una determinada posición (Consulta por    
    Posición).
  • Visualizar la suma total de los elementos del vector (Suma)
  • Visualizar la media aritmética de los elementos del vector (Media)
  • Visualizar el valor máximo, mínima y la media (MaxMedMin)

Se requiere diseñar el programa de forma modular, de manera que cada función se encargue de manipular los datos de la forma apropiada.

Se nos exige que haya como mínimo les siguientes acciones y funciones:
  • Función InicializarVector  (todos los valores a 0)
  • Función VisualizarMenu
  • Función Listado
  • Función ConsultarPosicion
  • Función Suma
  • Función Media
  • Función MaxMedMin

El código que llevo por ahora es el siguiente (sé que está en catalán, es para no andar traduciéndolo y que la vaya liando por ahí en medio, aun y así creo que es entendible):
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. //Prototips
  5. void InicialitzarVector(int vector[],int gran);
  6. void VisualitzarMenu(int vector[],int gran);
  7. void ConsultarPosicio(int vector[],int gran);
  8. void Suma(int vector[],int suma);
  9. void Mitjana(int vector[],int gran);
  10. void MaxMitMin(int vector[],int gran);
  11.  
  12. //Bloc principal    
  13. int main(){
  14. int vector[6]={8,4,2,0,1,5},num=6;
  15.  
  16. InicialitzarVector(vector,num);
  17. VisualitzarMenu(vector,num);
  18. ConsultarPosicio(vector,num);
  19. Suma(vector,num);
  20. Mitjana(vector,num);
  21. MaxMitMin(vector,num);
  22.  
  23. system("pause");
  24. }
  25.  
  26. //Funcions
  27. //Inicialitzem el vector a 0
  28. void InicialitzarVector(int vector[],int gran){
  29. int i=0;
  30.  for(i=0;i<gran;i++)
  31.      vector[i]=0;  
  32. }
  33.  
  34. //Printem el menú
  35. //Llistem els elements del vector
  36. void VisualitzarMenu(int vector[],int gran){
  37. int i=0;
  38. printf("El vector conte els seguents elements: ");
  39. for(i=0;i<gran;i++)
  40.     printf("%d",vector[i]);  
  41. }
  42.  
  43. //Mostrem la posició del vector demanada
  44. void ConsultarPosicio(int vector[],int gran){
  45. int i=0;
  46. printf("\nIntrodueix la posicio que desitges comprovar: \n");
  47. scanf("%d",&i);
  48. printf("La posicio %d conte el valor %d \n",i,vector[i]);    
  49. }
  50.  
  51. //Suma de tots els elements del vector
  52. void Suma (int vector[],int gran){
  53. int i=0,suma=0;
  54.  for(i=0;i<gran;i++)
  55.      suma=suma+vector[i];
  56.    printf("La suma es: %d \n",suma);
  57. }
  58.  
  59. //Mitjana de tots els elements del vector
  60. void Mitjana (int vector[],int gran){
  61. int i=0,mitjana=0,suma=0;    
  62.   for(i=0;i<gran;i++){
  63.       suma=suma+vector[i];
  64.   }
  65.    mitjana= suma/i ;
  66.    printf("La mitjana es: %d \n",mitjana);      
  67. }
  68.  
  69. //Calculem el màxim, la mitjana i el màxim valor del vector
  70. void MaxMitMin (int vector[],int gran){    
  71. int i=0,mitjana=0,max=0,min=50;
  72.    for(i=0;i<gran;i++){
  73.      if (vector[i]>max)
  74.        max=vector[i];
  75.      else if (vector[i]<min)
  76.        min=vector[i];    
  77.    }
  78. printf("El maxim es: %d \n",max);
  79. printf("El minim es: %d \n",min);
  80. printf("La mitjana es: %d \n",mitjana);
  81. }

De nuevo, muchas gracias por su tiempo y ayuda :)


En línea

¡Salu2 a to2!
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Nuevo problema
« Respuesta #1 en: 31 Marzo 2013, 14:12 pm »

Me extraña que no te hayas dado cuenta, si ya has inicializado el vector con los valores que tú has querido, no hace falta llamar a la función InicialitzarVector ya que te vuelve a poner todos los elementos a 0 independientemente del valor que le hayas asignado, es como si hiciese esto:
Código
  1. int variable = 5;
  2. //Inicializar variable
  3. variable = 0;


« Última modificación: 31 Marzo 2013, 14:15 pm por avesudra » En línea

Regístrate en
kayron8

Desconectado Desconectado

Mensajes: 28


¡Tú mismo con tu mecanismo!


Ver Perfil WWW
Re: Nuevo problema
« Respuesta #2 en: 31 Marzo 2013, 14:16 pm »

Claro ese es el problema que no logro entender del ejercicio, la primera función que se nos exige, es que pongamos todos los elementos del vector a 0.

Saludos :D
En línea

¡Salu2 a to2!
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Nuevo problema
« Respuesta #3 en: 31 Marzo 2013, 14:21 pm »

Pues eso pero después, tienes que introducir los elementos del vector tal y como dice en este punto:
    • Introducción de todos los elementos del vector (Altas).
Se les habrá olvidado ponerlo pero es que no tiene ninguna lógica, primero inicializas todos los elementos del vector a 0 , y después le pides al usuario que vaya introduciendo valores hasta completar el tamaño del vector.
En línea

Regístrate en
kayron8

Desconectado Desconectado

Mensajes: 28


¡Tú mismo con tu mecanismo!


Ver Perfil WWW
Re: Nuevo problema
« Respuesta #4 en: 31 Marzo 2013, 14:34 pm »

Bueno pues dejo la función comentada para que vea el profe que la tengo hecha pero que no tiene mucha lógica.

Gracias por todo :)
En línea

¡Salu2 a to2!
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Nuevo problema
« Respuesta #5 en: 31 Marzo 2013, 15:01 pm »

Bueno pues dejo la función comentada para que vea el profe que la tengo hecha pero que no tiene mucha lógica.

Gracias por todo :)
¡¡¡Pero tienes que introducir los elementos del vector!!! Haz esa función también y la pones detrás de la de inicializar todo a 0 así te quedas más tranquilo.
En línea

Regístrate en
kayron8

Desconectado Desconectado

Mensajes: 28


¡Tú mismo con tu mecanismo!


Ver Perfil WWW
Re: Nuevo problema
« Respuesta #6 en: 31 Marzo 2013, 16:45 pm »

Si hombre, si, tranquilo xD.
El caso es que ya hice esa función y me sale un error que no comprendo :S

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. //Prototips
  5. void InicialitzarVector(int vector[],int gran);
  6. void DemanaValors(int vector[],int gran);
  7. void VisualitzarMenu(int vector[],int gran);
  8. void ConsultarPosicio(int vector[],int gran);
  9. void Suma(int vector[],float suma);
  10. void Mitjana(int vector[],float gran);
  11. void MaxMitMin(int vector[],float gran);
  12.  
  13. //Bloc principal    
  14. int main(){
  15. int vector[6],num=6;
  16.  
  17. InicialitzarVector(vector,num);
  18. DemanaValors(vector,num);
  19. VisualitzarMenu(vector,num);
  20. ConsultarPosicio(vector,num);
  21. Suma(vector,num);
  22. Mitjana(vector,num);
  23. MaxMitMin(vector,num);
  24.  
  25. system("pause");
  26. }
  27.  
  28. //Funcions
  29. //Inicialitzem el vector a 0
  30. void InicialitzarVector(int vector[],int gran){
  31. int i=0;
  32.  for(i=0;i<gran;i++)
  33.      vector[i]=0;  
  34. }
  35.  
  36. //Demanem els elements del vector a l'usuari
  37. void DemanarValors(int vector[],int gran){
  38. int i=0;
  39. for (i=0;i<gran;i++){
  40. printf("Introdueix el valor %d: ",i+1);
  41.    scanf("%d",&vector[i]);
  42. }
  43.  
  44. //Printem el menú
  45. //Llistem els elements del vector
  46. void VisualitzarMenu(int vector[],int gran){
  47. int i=0;
  48. printf("El vector conte els seguents elements: ");
  49. for(i=0;i<gran;i++)
  50.     printf("%d",vector[i]);  
  51. }
  52.  
  53. //Mostrem la posició del vector demanada
  54. void ConsultarPosicio(int vector[],int gran){
  55. int i=0;
  56. printf("\nIntrodueix la posicio que desitges comprovar: \n");
  57. scanf("%d",&i);
  58. printf("La posicio %d conte el valor %d \n",i,vector[i]);    
  59. }
  60.  
  61. //Suma de tots els elements del vector
  62. void Suma(int vector[],float gran){
  63. int i=0;
  64. float suma=0;
  65.  for(i=0;i<gran;i++)
  66.      suma=suma+vector[i];
  67.    printf("La suma es: %.2f \n",suma);
  68. }
  69.  
  70. //Mitjana de tots els elements del vector
  71. void Mitjana(int vector[],float gran){
  72. int i=0;
  73. float mitjana=0,suma=0;    
  74.   for(i=0;i<gran;i++){
  75.       suma=suma+vector[i];
  76.   }
  77.    mitjana= suma/i ;
  78.    printf("La mitjana es: %.2f \n",mitjana);      
  79. }
  80.  
  81. //Calculem el màxim, la mitjana i el màxim valor del vector
  82. void MaxMitMin(int vector[],float gran){    
  83. int i=0;
  84. float mitjana=0,max=0,min=50;
  85.    for(i=0;i<gran;i++){
  86.      if (vector[i]>max)
  87.        max=vector[i];
  88.      else if (vector[i]<min)
  89.        min=vector[i];    
  90.    }
  91. }
  92. printf("El maxim es: %.2f \n",max);
  93. printf("La mitjana es: %.2f \n",mitjana);
  94. printf("El minim es: %.2f \n",min);
  95. }

El error que me aparece al compilarlo es:
In function 'DemanarValors': [Error] expected declaration or statement at end of input

Muchas gracias :D
« Última modificación: 31 Marzo 2013, 17:10 pm por kayron8 » En línea

¡Salu2 a to2!
kayron8

Desconectado Desconectado

Mensajes: 28


¡Tú mismo con tu mecanismo!


Ver Perfil WWW
Re: Nuevo problema
« Respuesta #7 en: 31 Marzo 2013, 17:16 pm »

Si hombre, si, tranquilo xD.
El caso es que ya hice esa función y me sale un error que no comprendo :S

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. //Prototips
  5. void InicialitzarVector(int vector[],int gran);
  6. void DemanaValors(int vector[],int gran);
  7. void VisualitzarMenu(int vector[],int gran);
  8. void ConsultarPosicio(int vector[],int gran);
  9. void Suma(int vector[],float suma);
  10. void Mitjana(int vector[],float gran);
  11. void MaxMitMin(int vector[],float gran);
  12.  
  13. //Bloc principal    
  14. int main(){
  15. int vector[6],num=6;
  16.  
  17. InicialitzarVector(vector,num);
  18. DemanaValors(vector,num);
  19. VisualitzarMenu(vector,num);
  20. ConsultarPosicio(vector,num);
  21. Suma(vector,num);
  22. Mitjana(vector,num);
  23. MaxMitMin(vector,num);
  24.  
  25. system("pause");
  26. }
  27.  
  28. //Funcions
  29. //Inicialitzem el vector a 0
  30. void InicialitzarVector(int vector[],int gran){
  31. int i=0;
  32.  for(i=0;i<gran;i++)
  33.      vector[i]=0;  
  34. }
  35.  
  36. //Demanem els elements del vector a l'usuari
  37. void DemanarValors(int vector[],int gran){
  38. int i=0;
  39. for (i=0;i<gran;i++){
  40. printf("Introdueix el valor %d: ",i+1);
  41.    scanf("%d",&vector[i]);
  42. }
  43.  
  44. //Printem el menú
  45. //Llistem els elements del vector
  46. void VisualitzarMenu(int vector[],int gran){
  47. int i=0;
  48. printf("El vector conte els seguents elements: ");
  49. for(i=0;i<gran;i++)
  50.     printf("%d",vector[i]);  
  51. }
  52.  
  53. //Mostrem la posició del vector demanada
  54. void ConsultarPosicio(int vector[],int gran){
  55. int i=0;
  56. printf("\nIntrodueix la posicio que desitges comprovar: \n");
  57. scanf("%d",&i);
  58. printf("La posicio %d conte el valor %d \n",i,vector[i]);    
  59. }
  60.  
  61. //Suma de tots els elements del vector
  62. void Suma(int vector[],float gran){
  63. int i=0;
  64. float suma=0;
  65.  for(i=0;i<gran;i++)
  66.      suma=suma+vector[i];
  67.    printf("La suma es: %.2f \n",suma);
  68. }
  69.  
  70. //Mitjana de tots els elements del vector
  71. void Mitjana(int vector[],float gran){
  72. int i=0;
  73. float mitjana=0,suma=0;    
  74.   for(i=0;i<gran;i++){
  75.       suma=suma+vector[i];
  76.   }
  77.    mitjana= suma/i ;
  78.    printf("La mitjana es: %.2f \n",mitjana);      
  79. }
  80.  
  81. //Calculem el màxim, la mitjana i el màxim valor del vector
  82. void MaxMitMin(int vector[],float gran){    
  83. int i=0;
  84. float mitjana=0,max=0,min=50;
  85.    for(i=0;i<gran;i++){
  86.      if (vector[i]>max)
  87.        max=vector[i];
  88.      else if (vector[i]<min)
  89.        min=vector[i];    
  90.    }
  91. }
  92. printf("El maxim es: %.2f \n",max);
  93. printf("La mitjana es: %.2f \n",mitjana);
  94. printf("El minim es: %.2f \n",min);
  95. }

El error que me aparece al compilarlo es:
In function 'DemanarValors': [Error] expected declaration or statement at end of input

Muchas gracias :D

¡Ya lo arreglé!
En línea

¡Salu2 a to2!
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Nuevo problema
« Respuesta #8 en: 31 Marzo 2013, 17:20 pm »

Estoy tranquilo jajaja , bueno el error era que le faltaba la llave de cierre de la función que hay que decirlo por si alguien tiene el mismo problema y no lo ve  ;)

¡Un saludo!
En línea

Regístrate en
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
de nuevo problema con los IF's
PHP
Servia 8 2,548 Último mensaje 16 Junio 2009, 13:53 pm
por Servia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines