EJEMPLO DE TRATAMIENTO DE VECTORES EN C

Anuncio
EJEMPLO DE TRATAMIENTO DE VECTORES EN C
#include <stdio.h>
#include <math.h>
#define TAM 3
/* PROTOTIPOS (sólo necesarios si la definición de función
aparece después de la llamada */
/* Sintaxis, incluir tipos recibidos/devueltos, sin nombres de var.
float norma_vector(int [],int);
float media_vector(int v[],int);
void lee_vector(int v[],int);
/* Función que calcula la norma de un vector de tamaño dimension */
float norma_vector(int v[],int dimension)
{
int sp=0;
int i;
float norma;
for(i=0;i<dimension;i++)
{
sp=sp+v[i]*v[i]; /* Actualizamos la suma parcial */
}
norma=sqrt(sp); / Raíz cuadrada */
return norma;
}
/* Función que calcula la media de los elementos de un vector de tamaño dimension */
float media_vector(int v[],int dimension)
{
int sp=0;
int i;
float media;
for(i=0;i<dimension;i++)
{
sp=sp+v[i];
}
media=sp/((float)dimension);
return media;
}
/* Función que lee por teclado los elementos de un vector de tamaño dimension */
void lee_vector(int v[],int dimension)
{
int i;
for (i=0;i<dimension;i++)
{
scanf("%d",&v[i]);
}
}
/* Función main: programa principal */
void main(void)
{
/* Declaraciones */
int vector[TAM]; /* TAM es una constante definida arriba */
int i;
/* Borrado de la pantalla */
clrscr();
/* Lectura de vector por teclado (paso por referencia) */
lee_vector(vector,TAM);
/* Salida por pantalla: hay que hacerla elemento a elemento */
for (i=0;i<TAM;i++)
{
printf("%d\n",vector[i]);
}
/* Cálculo y salida por pantalla de la media y la norma del vector */
printf("La media es %f\n",media_vector(vector,TAM));
printf("La norma es %f\n",norma_vector(vector,TAM));
/* Congela la pantalla de MS-DOS hasta que se pulse una tecla */
system("pause");
}
Descargar