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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  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 1,592 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 2,826 Último mensaje 5 Mayo 2010, 17:47 pm
por roser24
Paso de parametros por referencia...funciones
Programación C/C++
soser 2 3,315 Último mensaje 2 Septiembre 2010, 22:33 pm
por soser
Duda de Bash; Referencia indirecta a arreglos mediante funciones.
Scripting
astinx 0 2,191 Último mensaje 12 Noviembre 2011, 22:39 pm
por astinx
funciones paso por referencia
Programación C/C++
vivianfes 6 1,282 Último mensaje 4 Marzo 2015, 01:09 am
por vivianfes
Funciones i pasar por referencia arrays
Scripting
dracrac 4 1,220 Último mensaje 7 Septiembre 2015, 22:38 pm
por dracrac
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines