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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


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

Desconectado Desconectado

Mensajes: 15


Ver Perfil
c++ Funciones por referencia
« en: 11 Junio 2011, 02:54 am »

Hola disculpe no se porque no compila¿?
ayuda!
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #define max 300
  4. using namespace std;
  5. void llenar(int &a);
  6. void leer(int a,int b,int c);
  7. int main(int argc, char *argv[])
  8. {  
  9.    int num[max],i,x,y,h;
  10.  
  11.    llenar(num);
  12.    leer(x,y,h);
  13.  
  14.    system("PAUSE");
  15.    return EXIT_SUCCESS;
  16. }
  17.  
  18. void leer(int a,int b,int c)
  19. {
  20.     cout<<"Ingrese el valor X ...(0.x)"<<endl;
  21.     cin>>a;
  22.     cout<<"Ingrese el valor Y ...(0.y)"<<endl;
  23.     cin>>b;
  24.     cout<<"Ingrese el valor Z ...(0.z)"<<endl;
  25.     cin>>c;
  26.  
  27. }
  28. void llenar(int &a)
  29. {    
  30.     int i;
  31.          for(i=0;i<max;i++)
  32.          {
  33.               a[i]=0;    
  34.          }
  35. }


En línea

Acermax

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: c++ Funciones por referencia
« Respuesta #1 en: 11 Junio 2011, 04:43 am »

Tu quieres trabajar en la función llenar como si fuera un array, y por el contrario la declaras como un entero.

Citar
http://c.conclase.net/curso/?cap=015b

Cuando pasamos un array como parámetro en realidad estamos pasando un puntero al primer elemento del array, así que las modificaciones que hagamos en los elementos del array dentro de la función serán permanentes aún después de retornar.

Esto significa que declarando simplemente el array bien en la función ya te funciona lo que tu quieres hacer.

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #define max 300
  4. using namespace std;
  5. void llenar(int a[]);
  6. void leer(int a,int b,int c);
  7. int main(int argc, char *argv[])
  8. {
  9.    int num[max],i,x,y,h;
  10.  
  11.    llenar(num);
  12.    leer(x,y,h);
  13.  
  14.    system("PAUSE");
  15.    return EXIT_SUCCESS;
  16. }
  17.  
  18. void leer(int a,int b,int c)
  19. {
  20.     cout<<"Ingrese el valor X ...(0.x)"<<endl;
  21.     cin>>a;
  22.     cout<<"Ingrese el valor Y ...(0.y)"<<endl;
  23.     cin>>b;
  24.     cout<<"Ingrese el valor Z ...(0.z)"<<endl;
  25.     cin>>c;
  26.  
  27. }
  28. void llenar(int a[])
  29. {
  30.     int i;
  31.          for(i=0;i<max;i++)
  32.          {
  33.               a[i]=0;
  34.          }
  35.          cout << endl;
  36. }
  37.  


En línea

programador10

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: c++ Funciones por referencia
« Respuesta #2 en: 11 Junio 2011, 06:18 am »

gracias ... MUCHAS gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consultas sobre punteros en funciones por referencia..
Programación C/C++
roser24 5 4,106 Último mensaje 5 Mayo 2010, 17:47 pm
por roser24
Paso de parametros por referencia...funciones
Programación C/C++
soser 2 4,516 Último mensaje 2 Septiembre 2010, 22:33 pm
por soser
Duda de Bash; Referencia indirecta a arreglos mediante funciones.
Scripting
astinx 0 3,140 Último mensaje 12 Noviembre 2011, 22:39 pm
por astinx
funciones paso por referencia
Programación C/C++
vivianfes 6 2,758 Último mensaje 4 Marzo 2015, 01:09 am
por vivianfes
Funciones i pasar por referencia arrays
Scripting
dracrac 4 2,708 Último mensaje 7 Septiembre 2015, 22:38 pm
por dracrac
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines