/* File: skalar.c -- zu Kap. 2.2.1 Felder
   Fkt.: Berechnung des Skalarproduktes zweier int-Vektoren
	 Eingabe der Feldelemente und der Vektoren */
#include <stdio.h>
#include <ctype.h>
#define N 20
main() /* Skalarprodukt von Vektoren */
{ 	int n,i,sp,a[N],b[N];
	sp=0;
	printf("Berechnung des Skalarproduktes zweier Vektoren\n");
	printf("Eingabe Elementezahl (1-%d):",N);
	if((n=getint())>1 && n<N) {
		printf("\nEingabe %d Elemente Vektor A:\n", n);
		getvekt(a,n);
		printf("\nEingabe %d Elemente Vektor B:\n", n);
		getvekt(b,n);
		i=0;
		while(i<n) {
			sp += a[i] * b[i];
			i++;
		}
		printf("\nDas Skalarprodukt ist %d\n", sp);
	} else  printf("falscher Koordinatenwert\n");
}
getvekt(a,n)
int a[];
{	int i=0;
	while(i<n) a[i++] = getint();
}
int getint () /* Ziffernfolge lesen und konvertieren in int */
{	int i; int c;
	i = 0;
	while (!isdigit(c=getchar()));
	while (isdigit(c)) {
		i = 10 * i + c - '0';
		c = getchar();
	}
	return(i);
}

