Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich habe einen Fehler bei der Skalarmultiplikation von Zwei int-Vektoren. Leider finde ich ihn nicht. Vlt. kann mir einer von euch behilflich sein.

#include <stdio.h>

int scalar(int (*vec1)[],int (*vec2)[],int laenge)

{

int i,res=0;

for(i=0;i<laenge;i++)

{

res=+ (*vec1) * (*vec2);

}

return res;

}

int main()

{

int veca[3],vecb[3],lenth=3,skalar;

printf("Gib zwei Vektoren ein: \n");

printf("Erster Vektor: ");

scanf("%d",veca);

printf("\nZweiter Vektor: ");

fflush(stdin);

scanf("%d",vecb);

fflush(stdin);

skalar=scalar(veca,vecb,lenth);

printf("Das Skalar lautet: %d\n\n",skalar);

getchar();

return 0;

}

Geschrieben

Die Berechnung des Skalarprodukts sieht gut aus, aber du befüllst deine Vektoren nicht ordentlich. Du liest nur zwei ints vom Benutzer ein, die steckst du in die jeweils erste Komponente deiner Vektoren. Was ist mit dem Rest?

Und beim nächsten Mal bitte eine ausführlichere Fehlerbeschreibung als "ich habe einen Fehler" ;)

Und noch eins: fflush(stdin) erzeugt undefiniertes Verhalten, außer bei Microsoft-Compilern.

Geschrieben

Erstmal danke für die Antwort.

ALso ich habe das jetzt wie folgt geändert:

printf("Erster Vektor: ");

scanf("%d %d %d",&veca[0],&veca[1],&veca[2]);

printf("\nZweiter Vektor: ");

scanf("%d %d %d",&vecb[0],&vecb[1],&vecb[2]);

.

Aber irgendwie klappt das trotzdem nicht?

Geschrieben

Sorry, muss mich verbessern. Der Compiler startet das Programm schon, aber nachdem ich die beiden vektoren eingegeben habe, öffnet sich ein Fenster wo steht (WS 07/08.exe funktioniert nicht mehr) ("WS 07/08" ist der Name vom Projekt).

Geschrieben
Der Compiler startet das Programm schon
Der Compiler übersetzt das Programm, starten musst du es schon selbst (oder deine Entwicklungsumgebung).

aber nachdem ich die beiden vektoren eingegeben habe, öffnet sich ein Fenster wo steht (WS 07/08.exe funktioniert nicht mehr) ("WS 07/08" ist der Name vom Projekt).
Ein Schrägstrich im Dateinamen? Wie hast du das denn geschafft?
Geschrieben
Habe keinen Schrägstrich im Projektnamen. Das war nur ein Pseudoname den ich eben angegeben hatte. IN echt steht dort WS0708.
Hast du uns vielleicht auch nur Pseudocode gezeigt? Dein Code läuft nämlich bei mir prima.
Geschrieben
Wäre nett, wenn du die Fehler nennen könntest. Denn ich sehe keine. Und wie gesagt, die Vektoren kann ich eingeben.

Welcher Compiler lässt das durchgehen? Um mal anzufangen: "veca" ist ein int-Array, was einem Zeiger auf int-Werte entspricht. Die Funktion "scalar" erwartet, so wie sie oben steht, jedoch einen Zeiger auf ein Array von int-Zeigern.

Nur danach bei der Berechnung des Skalars überlastet das Programm.

Überlastet? Es ist vermutlich ein Absturz gemeint.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...