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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Duda con estructuras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con estructuras  (Leído 2,142 veces)
fins94

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda con estructuras
« en: 2 Junio 2013, 20:08 pm »

Intentando crear un programa bastante sencillo me encontré con un error a la hora de compilar que no soy capaz de resolver. El programa consiste en declarar una variable struct con un array de diez elementos enteros y un numero entero, y realizar la media aritmética de los elementos del array multiplicados por el numero entero.
El codigo fuente es el siguiente:

Código:
#include<stdio.h>

float media (struct ejemplo x)
{
float res;
int i;
for(i=0; i<10; ++i)
{
res += (x.v[i] * x.k);
}
res /= (i+1);
return res;
}

struct ejemplo
{
int v[10];
int k;
};

int main()
{
struct ejemplo a;
int j, q;

for(q=0; q<10; ++q){
a.v[q] = q+1;}
a.k = 2;

printf("El vector ejemplo es: ");
for(j=0; j<10; ++j){
printf("%3d", a.v[j]);}
printf(", y el numero es %d\n", a.k);
printf("La media aritmetica sera: %f", media(a));
return 0;
}


Y el error que me aparece a la hora de compilar es:
Citar
media.c:3:29: error: el parametro 1('x') tiene tipo incompleto

Agradeceria una ayuda ya que no es la primera vez que me da este error a la hora de utilizar una variable struct en una funcion.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda con estructuras
« Respuesta #1 en: 4 Junio 2013, 18:55 pm »

El problema es sencillo: Antes de usar una variable o función, tienes que declararla. Tú lo declaraste después de la primera función, así que esa estructura no sirve para esa función.
Recomendación personal: Declara las variables globales después de los includes y tal. O al menos antes de usarlos en ninguna función.
Código:
#include<stdio.h>
#include<iostream>

struct ejemplo
{
int v[10];
int k;
};

float media (struct ejemplo x)
{
float res;
int i;
for(i=0; i<10; ++i)
{
res += (x.v[i] * x.k);
}
res /= (i+1);
return res;
}



int main()
{
struct ejemplo a;
int j, q;

for(q=0; q<10; ++q){
a.v[q] = q+1;}
a.k = 2;

printf("El vector ejemplo es: ");
for(j=0; j<10; ++j){
printf("%3d", a.v[j]);}
printf(", y el numero es %d\n", a.k);
printf("La media aritmetica sera: %f", media(a));
system("pause");
return 0;
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] - Duda estructuras « 1 2 »
Programación C/C++
h0oke 14 7,182 Último mensaje 21 Mayo 2010, 22:34 pm
por Littlehorse
Duda con estructuras (struct)
Programación C/C++
alexis33de 1 2,739 Último mensaje 28 Agosto 2010, 03:41 am
por Littlehorse
[Duda] Estructuras « 1 2 »
ASM
xv0 15 9,227 Último mensaje 12 Febrero 2013, 10:18 am
por fary
Duda lista con estructuras c++
Programación C/C++
d00ze13 3 2,214 Último mensaje 19 Diciembre 2013, 15:34 pm
por rir3760
Duda rapida sobre estructuras
Programación C/C++
AlucardDracula 2 1,974 Último mensaje 23 Diciembre 2013, 22:40 pm
por AlucardDracula
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines