retornar varios arreglos

Iniciado por luispad, 11 Enero 2020, 12:42 PM

0 Miembros y 1 Visitante están viendo este tema.

luispad

hola, tengo un inconveniente, como puedo retornar varios arreglos, tengo este ejercicio
int datos_candidatos(int i)
{
int id[10];
int voto[10],colab[10],edad[10];
char candidato[10];
char* nomCan[10];
char dato;
     printf("Ingrese nombre del candidato:");
      scanf("%s",&candidato);      
      nomCan =(char*)malloc(strlen(candidato)+1);
      strcpy(nomCan ,candidato);
      printf("Ingrese edad:");
      scanf("%d",&edad );
      printf("Ingresen numero de colaboradores de candidatura \n");
      scanf("%d",&colab );      
     
     
      return(nomCan ,edad ,colab );
}

int main()
{
int num,num2,num3;
int edad[10],colab[10];
int id[10],i;
int voto[10],votacion[10];
char candidato[10];
char* nomCan[10];
i=0;
do{

printf("1. INGRESO DATOS CANDIDATOS \n");
printf("2. SALIR\n");
printf("ELIJA UNA OPCION [1-5]\n");
scanf("%d",&num);
switch(num){
   case 1:
       id =i;
      (nomCan , edad ,colab )=datos_candidatos(i);
      voto=0;
      i++;
      break;
   case 2:
          break;
   default:
       printf("La opcion ingresada es incorrecta\nvuelva a ingresarlo\n");
       break;    
}
}
while(num!=2);
   system("pause");
   return 0;
}

CalgaryCorpus

Define una struct/clase
Devuelve un array de objetos de ese tipo.
Aqui mi perfil en LinkedIn, invitame un cafe aqui

@XSStringManolo

#2
Si son pocos yo suelo pasar el array en el parámetro de la función por referencia.

PD: Utiliza las etiquetas Geshi para postear código coloreado en el foro.
printf("Ingrese edad:");
scanf("%d",&edad );

K-YreX

Coloca el código entre etiquetas de Código GeSHi... :rolleyes: :rolleyes:

Los arrays también puedes pasarlos como parámetros (exactamente lo que pasas es un puntero al array) y modificarlos en la función. Además no viene mal recalcar que no es necesario pasarlos por referencia a no ser que vayas a reservar/liberar memoria.


void f(int *numeros, int size){
  for(int i = 0; i < size; ++i)
    numeros[i] = i;
}

int main(){
  int numeros[10];
  f(numeros, 10);
  // Mostrar array numeros. Salida: 0 1 2 3 4 5 6 7 8 9
}
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;