/* programma prod_int.c */
/* Questo programma inizializza due vettori x e y di 20 elementi
ciascuno, poi calcola il prodotto interno:
x[0]*y[0]+x[1]*y[1]+ .... +x[19]*y[19] */

#include <stdio.h>

#define max 20

/* prototipi funzioni per ANSI C */
int pmul (int,int);
void interno(int*,int*);

/* variabili globali */
int k;
int x[max],y[max];

int main (void)
{
    for (k=0; k<max; k++)
    {
        x[k]=k;
        y[k]=pmul(2,k)+1;
    }
    interno(y,&k);
    printf("%d\n",k);
}

int pmul(int a, int b)
{
    int p,j;
    if((a==0)||(b==0)) p=0;
    else
    {
        p=0;
        for (j=0;j<a;j++) p=p+b;
    }
    return(p);
}

void interno(int v[],int *ans)
{
int somma,i;

    somma=0;
    for(i=0;i<max;i++) somma=somma+pmul(x[i],v[i]);
    *ans=somma;
}