#include <stdio.h>

#define DIMENSION 100 /* Konstante für max. Dimension beider Vektoren */

int main (void)
{
    int v1[DIMENSION],v2[DIMENSION];  /* Arrays für Vektor 1 und 2 */
    int anzahl;      /* Dimension der Vektoren */
    int index;       /* Zählwert der Arrays    */
    int produkt;     /* Produkt jedes Schleifendurchlaufs */
    int ergebnis;    /* Gesamtwert auf den Einzelprodukte aufaddiert werden */

    /* Programmüberschrift */
    printf("Skalarprodukt 2er beliebiger Vektoren berechnen\n\n");	 
		
    do
    {
        printf("Bitte Anzahl der Dimensionen angeben (1-%i):" ,DIMENSION);
        scanf("%i",&anzahl);  /* Einlesen des Wertes der Vektordimension */
        if (anzahl>DIMENSION || anzahl<1)  
        {
            printf("\n Eingabe uebersteigt max. Dimensionszahl\n\n");
        }
    }
    while (anzahl>DIMENSION || anzahl<1); /* bei fehlerhafter Eingabe erneuter Schleifendurchlauf */

    for(index=0; index<anzahl; index++)  /* Einleseschleife des ersten Vektors */
    {
        printf("Wert %i fuer vektor 1 eingeben: ",index+1);	
        scanf("%i",&v1[index]);
    }

    for(index=0; index<anzahl; index++)  /* Einleseschleife des zweiten Vektors */
    {
        printf("Wert %i fuer Vektor 2 eingeben: ",index+1);
        scanf("%i",&v2[index]);
    }

    /* Schleife zur Berechnung des Skalarproduktes */
    ergebnis = 0;
    for(index=0; index<anzahl; index++)
    {
        produkt=v1[index]*v2[index];  /* Einzelwerte addieren */
        ergebnis+=produkt;            /* Produkte zum Gesamtwert aufsummieren */
    }

    /* Ausgabe des Gesamtwertes des Skalarproduktes */
    printf("Das Skalarprodukt der Vektoren betraegt: %i\n",ergebnis);
	
    return 0;
}