Foros del Web » Programación para mayores de 30 ;) » C/C++ »

C - funcion que devuelve un vector socorro

Estas en el tema de C - funcion que devuelve un vector socorro en el foro de C/C++ en Foros del Web. Hola, estoy intentando crear una funcion que me devuelva un vector con números en binario a partir de un numero entero que le paso pero ...
  #1 (permalink)  
Antiguo 22/04/2010, 12:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta C - funcion que devuelve un vector socorro

Hola, estoy intentando crear una funcion que me devuelva un vector con números en binario a partir de un numero entero que le paso pero no me sale, la verdad es que llevo tiempo sin tocar c.

int functionbinario(int num);


int main () {

int i;
int resultado[5];
int numero = 19;
resultado[5] = functionbinario (numero);
for (i = 0; i < 5; i++)
printf ("%d", resultado[i]);



int functionbinario (int numero) {
int i, cociente, resto,j;
int binario[5] ={0, 0, 0, 0, 0};
if (num == 1){
binario[4] = 1;
}
if (num > 1) {
int posicion = 4;
while (num / 2 >= 1)
{
cociente = num/2;
resto = num%2;
num = cociente;
binario[posicion] = resto;
posicion--;
if (cociente == 1)
binario[posicion] = cociente;
}
}
return binario;
}

}
  #2 (permalink)  
Antiguo 22/04/2010, 12:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: C - funcion que devuelve un vector socorro

Para que devolver un arreglo, cuando puedes modificar el arreglo.

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. void functionbinario(int num, int binario[]);
  4.  
  5.  
  6. int main () {
  7.  
  8.     int i;
  9.     int resultado[5];
  10.     int numero = 19;
  11.     functionbinario (numero, resultado);
  12.     for (i = 0; i < 5; i++)
  13.     printf ("%d", resultado[i]);
  14. }
  15.  
  16.  
  17. void functionbinario (int num, int binario[]) {
  18.     int i, cociente, resto,j;
  19.     for(i = 0; i < 5; i++)
  20.         binario[i] = 0;
  21.  
  22.     if (num == 1){
  23.         binario[4] = 1;
  24.     }
  25.     if (num > 1) {
  26.         int posicion = 4;
  27.         while (num / 2 >= 1)
  28.         {
  29.             cociente = num/2;
  30.             resto = num%2;
  31.             num = cociente;
  32.             binario[posicion] = resto;
  33.             posicion--;
  34.             if (cociente == 1)
  35.             binario[posicion] = cociente;
  36.         }
  37.     }
  38. }

Este programa lo puedes hacer con operadores de bits

Etiquetas: funcion, vectores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.