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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Paso de parametro por referencia
« en: 5 Diciembre 2011, 00:13 am »

Buenas, he hecho el siguiente programa, pero no se como pasarle el vector fibonnaci por referencia para que funcione correctamente...

#include <stdio.h>


void crearFibonnaci(int *fibonnaci){
   fibonnaci[0]=1;
   fibonnaci[1]=1;
   
   int i=2;
   while(i!=10){
      fibonnaci=fibonnaci[i-1]+fibonnaci[i-2];
      i++;
   }
}


void sumarFibonnaci(int *suma, int *fibonnaci){
   
   int i=0;
   while(i!=10){
      *suma+=fibonnaci;
      i++;
   }
}

main(){

int fibonnaci[10];
int suma=0;

   switch(fork()){
      case -1:
      printf("Error\n");
      exit(1);

      case 0:
      crearFibonnaci(fibonnaci);
      break;

      default:
      wait();
      sumarFibonnaci(&suma,fibonnaci);
      printf("Suma de Fibonnaci: %i\n",suma);         
      break;
   }

}

Gracias por vuestra ayuda.



En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Paso de parametro por referencia
« Respuesta #1 en: 5 Diciembre 2011, 01:08 am »

Código:
case 0:
    [b]  crearFibonnaci(&fibonnaci);[/b]
      break;


En línea

abad023

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Paso de parametro por referencia
« Respuesta #2 en: 5 Diciembre 2011, 01:36 am »

Nop :(
Sigue sin funcionar :(
En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Paso de parametro por referencia
« Respuesta #3 en: 5 Diciembre 2011, 03:31 am »

Los vectores siempre se pasan por referencia, aquí tienes un error:

Código
  1. fibonnaci=fibonnaci[i-1]+fibonnaci[i-2];
  2.  

Porque se supone que fibonnaci apunta a tu vector y tu estas cambiando a donde apunta fibonnaci.
En línea

abad023

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Paso de parametro por referencia
« Respuesta #4 en: 5 Diciembre 2011, 22:11 pm »

Y como deberia ponerlo??
Lo siento, pero soy bastante novato en programacion en c  :-X
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Paso de parametro por referencia
« Respuesta #5 en: 6 Diciembre 2011, 08:21 am »

veo muchos errores :P creo que es solo demostracion :P para usar arrays como parametros con como punteros de hecho se comportan casi como punteros por que apuntan a los elementos, tenes que hacerlo asi:

declaracion:
int main(){
int fibonnaci[10];
...
FUNCION(fibonnaci)
}

LA FUNCION:
FUNCION(int fibonnaci[10])
{
...
}

si es de varias dimenciones entonces tenes que especificar en el parametro de la funcion tambien, si es redimencionable
entonces usa un puntero y el parametro de la funcion debe ser un puntero :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Paso de flujos por parametro
Programación C/C++
darkvidhack 3 2,710 Último mensaje 17 Mayo 2011, 22:48 pm
por satu
Paso por referencia
Java
mapers 8 5,410 Último mensaje 27 Julio 2011, 12:27 pm
por [Case]
Tipos de paso por referencia y paso por referencia de tipo apuntador
Programación C/C++
CATBro 3 3,435 Último mensaje 8 Abril 2012, 08:23 am
por Beakman
Duda en paso de valores por referencia de Java
Java
arts 5 3,030 Último mensaje 25 Octubre 2013, 23:59 pm
por ~ Yoya ~
Borrar nodos pasados por parametro valor/referencia
Programación C/C++
Beginner Web 6 2,645 Último mensaje 27 Diciembre 2018, 18:16 pm
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines