Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/03/2014, 22:21
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: Retornar arreglo unidimensional desde función

Te has liado un poco con tanto arrays y for.

* Para empezar ten en cuenta que la función main es de tipo int, cosas del estándar de C, y como tal hay que declararla con su correspondiente return.

* Por como tienes configurada la llamada a la función, tanto x[i] como y[i] deberían estar dentro del mismo for y son los argumentos de la función.

* La llamada a la función la hace s[i], no s[1] y por lógica dentro del for, el único que realmente hace falta.

* Los argumentos de la función son simples enteros, no arrays y sin for, sobreentendiendo que lo que quieres es que te vaya sumando en cada c[i], que por cierto te lo puedes ahorrar, los valores que le manda la función x[i] e y[i] a través de los argumentos int a y int b.

He aquí una salida:


Cita:

Introduzca componente x[0]:1

Introduzca componente y[0]:2

Introduzca componente x[1]:3

Introduzca componente y[1]:4

Introduzca componente x[2]:5

Introduzca componente y[2]:6

s[0]=3 s[1]=7 s[2]=11
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int fuc(int a,int b);
  5.  
  6. int main()
  7. {
  8.     int x[3],y[3],i,s[3]; /*Declaro arreglos */
  9.     for (i=0;i<3;i++)
  10.       {
  11.           printf ("\nIntroduzca componente x[%d]:",i);
  12.           scanf("%d",&x[i]);
  13.           printf ("\nIntroduzca componente y[%d]:",i);
  14.           scanf("%d",&y[i]);
  15.           s[i]=fuc(x[i],y[i]); /*Envio argumentos a la funcion FUC*/
  16.       }
  17.     putchar ('\n');
  18.     for (i=0;i<3;i++)
  19.       printf("s[%d]=%d   ",i,s[i]);
  20.     getch();
  21.     return 0;
  22. }
  23.  
  24. /*Funcion fuc */
  25. int fuc (int a,int b)
  26. {
  27.  return (a+b);
  28. }


¡¡¡Saluditos!!!


Última edición por leosansan; 04/03/2014 a las 22:33