Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - fins94

#1
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:

#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:

Citarmedia.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.
#2
Dudas Generales / Duda con estructuras
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:


#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.