/*
 * arquivo: leia_imprima_vetor.c
 * -----------------------------
 * Este programa ilustra a passagem de vetores como parametros de
 * funcoes.  (OBS: vetores sao sempre passados por referencia).
 *
 * IMPORTANTE: 
 * Observe bem como os vetores aparecem nos prototipos das funcoes;
 * e observe como os vetores aparecem na hora da chamada da funcao.
 */
#include <stdio.h>

#define NMAX 100

void leia_vetor(double v[], int n);    /* <------   v[]  */
void imprima_vetor(double v[], int n); /* <------   v[]  */

/************************************************************/

int main()
{
  double a[NMAX];
  int n;

  printf("Forneca o valor de n: ");
  scanf("%d", &n);

  leia_vetor(a, n);       /* <------ apenas a  (sem colchetes)! */
  imprima_vetor(a, n);    /* <------ apenas a  (sem colchetes)! */
  
  return 0;
}

/*----------------------------------------------------------*/
/*
 * leia_vetor():
 * =============
 * Recebe um vetor de double v[] e um inteiro n.
 * Le n reais e os coloca em em v[], isto e', em
 * v[0],...,v[n-1].
 */
void leia_vetor(double v[], int n)
{
  int i;

  printf("Forneca os %d doubles: ", n);
  for (i=0; i<n; i++) 
    scanf("%lf", &v[i]);
}

/*-----------------------------------------------------------*/
/*
 * imprima_vetor():
 * ================
 * Recebe um vetor de n doubles v[] e o inteiro n
 * e imprime v[], isto e', imprime v[0],...,v[n-1].
 */
void imprima_vetor(double v[], int n)
{
  int i;

  printf("Os elementos do vetor sao ");
  for (i=0; i<n; i++) 
    printf("%g ", v[i]);
  printf("\n");
}

