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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Pasar array como parametro a un "procedimiento" (void)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Pasar array como parametro a un "procedimiento" (void)  (Leído 2,973 veces)
n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
[C] Pasar array como parametro a un "procedimiento" (void)
« en: 11 Junio 2016, 23:15 pm »

Buenas tardes, mi duda es la siguiente. Como puedo pasar como parametro un array unidimensional o bidimensional a un "procedimiento" (void). Aclaro que es un void porque se que no existen los procedimientos en C, pero en donde estudio, las funciones de tipo void las llamamos procedimientos.

Marco donde me marca error el compilador con comentarios:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /*Cuatro EJERCICIOS - Pide valores para un vector de 5 posiciones y..
  5. 1- Los muestro
  6. 2- Los muestro invertidos
  7. 3- Muestro la suma
  8. 4- Muestro el promedio*/
  9.  
  10. int suma(int numeros[], int tamano);
  11. int promedio(int numeros[], int tamano);
  12. void muestra(int numeros[], int tamano);
  13. void muestrainversa(int numeros[], int tamano);
  14.  
  15. int main()
  16. {
  17.    int numeros[5], i;
  18.    int opc;
  19.  
  20.    printf("CARGA DE ARRAY\n");
  21.    for(i=0;i<5;i++){
  22.        printf("\nIngrese un numero ");
  23.        scanf("%d", &numeros[i]);
  24.    }
  25.  
  26.    printf("\n1- Suma\n2- Promedio\n3- Muestra\n4- Muestra Inversa\n");
  27.    scanf("%d", &opc);
  28.  
  29.    switch(opc){
  30.    case 1:
  31.        printf("\nLa suma es: %d", suma(numeros,5));
  32.        break;
  33.    case 2:
  34.        printf("\nEl promedio es: %d", promedio(numeros,5));
  35.        break;
  36.    case 3:
  37.        muestra(numeros,5); //ERROR
  38.        break;
  39.    case 4:
  40.        muestrainversa(numeros,5); //ERROR
  41.        break;
  42.    }
  43.    return 0;
  44. }
  45.  
  46. int suma(int numeros[], int tamano){
  47.    int sumatoria=0, j;
  48.  
  49.    for(j=0;j<5;j++){
  50.        sumatoria+=numeros[j];
  51.    }
  52.  
  53.    return(sumatoria);}
  54.  
  55. int promedio(int numeros[], int tamano){
  56.    int sumatoria=0,j;
  57.  
  58.    for(j=0;j<5;j++){
  59.        sumatoria+=numeros[j];
  60.    }
  61.  
  62.    return(sumatoria/5);}


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: [C] Pasar array como parametro a un "procedimiento" (void)
« Respuesta #1 en: 11 Junio 2016, 23:28 pm »

El error es que no tienes definidas las funciones muestra y muestrainversa

Solo estan definidas las funciones suma y promedio.

Respecto a tu pregunta, los arreglos se pasan exactamente igual que como lo haces en las funciones suma y promedio.

Otra cosa, las funciones suma y promedio reciben la varaible tamaño pero en el for no es usada, se coloca 5 siempre:

cuando veria de ser i < tamano



Saludos


En línea

n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
Re: [C] Pasar array como parametro a un "procedimiento" (void)
« Respuesta #2 en: 11 Junio 2016, 23:38 pm »

El error es que no tienes definidas las funciones muestra y muestrainversa

Solo estan definidas las funciones suma y promedio.

Respecto a tu pregunta, los arreglos se pasan exactamente igual que como lo haces en las funciones suma y promedio.

Otra cosa, las funciones suma y promedio reciben la varaible tamaño pero en el for no es usada, se coloca 5 siempre:

cuando veria de ser i < tamano



Saludos

Jodeme que es porque todavía no las explayé abajo... jaja. Pense que no deberia saltar el error en ese caso, perdon por hacerte responder tan boluda pregunta! Y gracias por lo de tamano, no me habia percatado.
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: [C] Pasar array como parametro a un "procedimiento" (void)
« Respuesta #3 en: 11 Junio 2016, 23:44 pm »

perdon por hacerte responder tan boluda pregunta! Y gracias por lo de tamano, no me habia percatado.

No es molestia, cuando compiles y te de error trata de agregar el error que de devuelve el compilador.

Asi hubiera sido mas facil identificar el problema.

Y repito no es molestia.

Por ciero estaba viendo que hay un tema similar en el foro.


Pasar a función un arreglo con punteros o con el nombre del arreglo como puntero


Saludos.
« Última modificación: 12 Junio 2016, 00:07 am por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO] Pasar array como parámetro.
Java
NetJava 3 23,182 Último mensaje 15 Febrero 2011, 21:55 pm
por Debci
Error "Illegal Start expression" -JFRAME y void- [SOLUCIONADO]
Java
dato000 2 5,605 Último mensaje 21 Febrero 2011, 04:25 am
por dato000
Ayuda: pasar array como parámetro (del objeto)
Java
JonaLamper 3 2,774 Último mensaje 30 Octubre 2014, 13:27 pm
por ivancea96
Pasar parametro a procedimiento
Programación C/C++
soyloqbuskas 3 2,713 Último mensaje 23 Octubre 2015, 06:24 am
por soyloqbuskas
duda con "void pointer" (En C)
Programación C/C++
RRjavier21 3 2,427 Último mensaje 17 Abril 2019, 16:56 pm
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines