#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); }
for(index=0; index<anzahl; index++) /* Einleseschleife des zweiten Vektors */
{
printf("Wert %i fuer Vektor 2 eingeben: ",index
+1); }
/* 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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIERJTUVOU0lPTiAxMDAgLyogS29uc3RhbnRlIGbDvHIgbWF4LiBEaW1lbnNpb24gYmVpZGVyIFZla3RvcmVuICovCgppbnQgbWFpbiAodm9pZCkKewogICAgaW50IHYxW0RJTUVOU0lPTl0sdjJbRElNRU5TSU9OXTsgIC8qIEFycmF5cyBmw7xyIFZla3RvciAxIHVuZCAyICovCiAgICBpbnQgYW56YWhsOyAgICAgIC8qIERpbWVuc2lvbiBkZXIgVmVrdG9yZW4gKi8KICAgIGludCBpbmRleDsgICAgICAgLyogWsOkaGx3ZXJ0IGRlciBBcnJheXMgICAgKi8KICAgIGludCBwcm9kdWt0OyAgICAgLyogUHJvZHVrdCBqZWRlcyBTY2hsZWlmZW5kdXJjaGxhdWZzICovCiAgICBpbnQgZXJnZWJuaXM7ICAgIC8qIEdlc2FtdHdlcnQgYXVmIGRlbiBFaW56ZWxwcm9kdWt0ZSBhdWZhZGRpZXJ0IHdlcmRlbiAqLwoKICAgIC8qIFByb2dyYW1tw7xiZXJzY2hyaWZ0ICovCiAgICBwcmludGYoIlNrYWxhcnByb2R1a3QgMmVyIGJlbGllYmlnZXIgVmVrdG9yZW4gYmVyZWNobmVuXG5cbiIpOwkgCgkJCiAgICBkbwogICAgewogICAgICAgIHByaW50ZigiQml0dGUgQW56YWhsIGRlciBEaW1lbnNpb25lbiBhbmdlYmVuICgxLSVpKToiICxESU1FTlNJT04pOwogICAgICAgIHNjYW5mKCIlaSIsJmFuemFobCk7ICAvKiBFaW5sZXNlbiBkZXMgV2VydGVzIGRlciBWZWt0b3JkaW1lbnNpb24gKi8KICAgICAgICBpZiAoYW56YWhsPkRJTUVOU0lPTiB8fCBhbnphaGw8MSkgIAogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJcbiBFaW5nYWJlIHVlYmVyc3RlaWd0IG1heC4gRGltZW5zaW9uc3phaGxcblxuIik7CiAgICAgICAgfQogICAgfQogICAgd2hpbGUgKGFuemFobD5ESU1FTlNJT04gfHwgYW56YWhsPDEpOyAvKiBiZWkgZmVobGVyaGFmdGVyIEVpbmdhYmUgZXJuZXV0ZXIgU2NobGVpZmVuZHVyY2hsYXVmICovCgogICAgZm9yKGluZGV4PTA7IGluZGV4PGFuemFobDsgaW5kZXgrKykgIC8qIEVpbmxlc2VzY2hsZWlmZSBkZXMgZXJzdGVuIFZla3RvcnMgKi8KICAgIHsKICAgICAgICBwcmludGYoIldlcnQgJWkgZnVlciB2ZWt0b3IgMSBlaW5nZWJlbjogIixpbmRleCsxKTsJCiAgICAgICAgc2NhbmYoIiVpIiwmdjFbaW5kZXhdKTsKICAgIH0KCiAgICBmb3IoaW5kZXg9MDsgaW5kZXg8YW56YWhsOyBpbmRleCsrKSAgLyogRWlubGVzZXNjaGxlaWZlIGRlcyB6d2VpdGVuIFZla3RvcnMgKi8KICAgIHsKICAgICAgICBwcmludGYoIldlcnQgJWkgZnVlciBWZWt0b3IgMiBlaW5nZWJlbjogIixpbmRleCsxKTsKICAgICAgICBzY2FuZigiJWkiLCZ2MltpbmRleF0pOwogICAgfQoKICAgIC8qIFNjaGxlaWZlIHp1ciBCZXJlY2hudW5nIGRlcyBTa2FsYXJwcm9kdWt0ZXMgKi8KICAgIGVyZ2VibmlzID0gMDsKICAgIGZvcihpbmRleD0wOyBpbmRleDxhbnphaGw7IGluZGV4KyspCiAgICB7CiAgICAgICAgcHJvZHVrdD12MVtpbmRleF0qdjJbaW5kZXhdOyAgLyogRWluemVsd2VydGUgYWRkaWVyZW4gKi8KICAgICAgICBlcmdlYm5pcys9cHJvZHVrdDsgICAgICAgICAgICAvKiBQcm9kdWt0ZSB6dW0gR2VzYW10d2VydCBhdWZzdW1taWVyZW4gKi8KICAgIH0KCiAgICAvKiBBdXNnYWJlIGRlcyBHZXNhbXR3ZXJ0ZXMgZGVzIFNrYWxhcnByb2R1a3RlcyAqLwogICAgcHJpbnRmKCJEYXMgU2thbGFycHJvZHVrdCBkZXIgVmVrdG9yZW4gYmV0cmFlZ3Q6ICVpXG4iLGVyZ2VibmlzKTsKCQogICAgcmV0dXJuIDA7Cn0=