Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LoQueSeaPI en 16 Septiembre 2016, 02:06 am



Título: Paso de parámetros a funciones en C
Publicado por: LoQueSeaPI en 16 Septiembre 2016, 02:06 am
Hola, he estado investigando, sin embargo no he logrado resolver una duda, y es como paso variables o arreglos (bidimensiones y unidimensionales) como parámetros entre varias funciones.
Por ejemplo si tengo varias funciones, una lee un vector y luego ese vector lo tengo que enviar a otra función (que NO ES EL MAIN) para que sea imprimido y sólo se puede acceder a ambas funciones mediante una función como por ejemplo sería un menú, o sea que ambas funciones tiene que ser también llamadas desde la función "menu".
Trataré de aclararlo bien, mediante un "esquema":

MENU -->FUNCION_QUE_LEE
    l                     ll
    l                     v
    l------>FUNCION_QUE_IMPRIME


Entonces, no se como se hace, no se si puede hacer sin usar punteros, y si sólo se puede usando punteros, como sería para arreglos bidimensionales.

       


Título: Re: Paso de parámetros a funciones en C
Publicado por: crack81 en 16 Septiembre 2016, 04:49 am
Hola no entiendo bien tu problema, pero mira te muestro un pequeño programa que mas o menos hace lo que tu pides sobre leer y imprimir un vector si no es lo que buscas podrías profundizar mas en tu pregunta.

Código
  1. #include <iostream>
  2. #include<cstdlib>
  3. #include<cstdio>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. void leerVector(int Vector[], int Tamano){
  9.    for(int i=0;i<Tamano;i++){
  10.        cout<<"Ingrese un numero entero en la posicion "<<i+1<<endl;
  11.        cin>>Vector[i];
  12.    }
  13. }
  14.  
  15. void imprimirVector(int Vector[],int Tamano){
  16.    cout<<"Lista de elementos en el vector"<<endl;
  17.    for(int i=0;i<Tamano;i++){
  18.        cout<<Vector[i]<<" ";
  19.    }
  20.    cin.get();
  21.    cin.get();
  22. }
  23.  
  24. void menu(){
  25.    const int TAMANO=10;
  26.    int Vector[TAMANO];
  27.    bool salir=false;
  28.    int opcion=0;
  29.  
  30.    do{
  31.        cout<<"Escoga una opcion"<<endl;
  32.        cout<<"1: Leer vector "<<endl;
  33.        cout<<"2: Imprimir vector "<<endl;
  34.        cout<<"3: Leer e imprmir vector"<<endl;
  35.        cout<<"4: Salir"<<endl;
  36.        cin>>opcion;
  37.  
  38.        switch(opcion){
  39.            case 1:leerVector(Vector,TAMANO); break;
  40.            case 2:imprimirVector(Vector,TAMANO); break;
  41.            case 3:{
  42.                    leerVector(Vector,TAMANO);
  43.                    imprimirVector(Vector,TAMANO);
  44.                   }break;
  45.            case 4: salir=true; break;
  46.            default: cout<<"Opcion incorrecta"<<endl;
  47.        }
  48.  
  49.        system("cls");
  50.    }while(!salir);
  51. }
  52.  
  53.  
  54. int main()
  55. {
  56.    //Menu principal
  57.    menu();
  58.  
  59.    return 0;
  60. }

SALUDOS.... :xD