This blog post has been published on 2010-12-05 and may be out of date.
Hier ein kleines Programm, welches das Skalarprodukt von zwei Vektoren berechnet…
/*
============================================================================
Name : Skalarprodukt.c
Author : Voku
Version : 1.0
Description : Skalarprodukt zweier Vektoren
============================================================================
*/
#include <stdio.h>
#define MAX 10
int main(void) {
double vektor1[MAX],vektor2[MAX]; // Arrays fuer Vektoren (1 und 2)
int anzahl; // Anzahl der Vektoren
int index; // Wert im Array
double produkt; // einzelnes Produkt
double ergebnis=0.0; // Gesamtwert aller Produkte
printf("Skalarprodukt (innere Produkt) zweier beliebiger Vektoren berechnen:\n\n");
do {
printf("Anzahl der Elemente pro Vektordimension (1-%i):" ,MAX);
scanf("%i",&anzahl);
if (anzahl > MAX ) {
printf("\n zu viel Dimension...\n\n");
} else if (anzahl < 1) {
printf("\n zu wenig Dimension...\n\n");
}
} while (anzahl > MAX || anzahl < 1);
// Vektorwerte fuer Vektor 1 einlesen
for (index=0; index < anzahl; index++) {
printf("Wert %i fuer Vektor 1 eingeben: ",index+1);
scanf("%lf",&vektor1[index]);
}
// Vektorwerte fuer Vektor 2 einlesen
for (index=0; index < anzahl; index++) {
printf("Wert %i fuer Vektor 2 eingeben: ",index+1);
scanf("%lf",&vektor2[index]);
}
// Berechnung des Skalarproduktes
for(index=0; index < anzahl; index++) {
produkt = vektor1[index] * vektor2[index];
ergebnis += produkt;
}
// Ausgabe
printf("Skalarprodukt: %.4lf\n",ergebnis);
return 0;
}