Wie kann ich mir diesen Schnittpunkt ausgeben?
-
Brauche dringend eure Hilfe! Wie kann ich mir den Schnittpunkt der folgenden Funktion anzeigen lassen? Habe ein Menue aufgebaut. Muss jetzt nur noch im Menuepunkt:Berechnen mir diesen Schnittpunkt ausgeben lassen!
VEC schnittpunkt1(GER g1, GER g4) { double lambda, mue, det, dl, dm; VEC Spkt1, z; z = v_sub(g4.o, g1.o); det = determinante(g1.r, g4.r); if(fabs(det)>eps) { dl = determinante(z, g4.r); lambda = dl/det; dm = determinante(g1.r, z); mue = dm/det; } else printf("Error"); if(lambda > 1 && -1 < mue && mue >1) { Spkt1 = g_punkt(g1, lambda); return Spkt1; } else printf("Error");
}
Danke für eure Hilfe!
-
Da du offensichtlich nicht Willens oder in der Lage bist, dein Problem qualifiziert zu schildern, damit du qualifizierte Antworten erhälst, die dir weiterhelfen, hier nochmal explizit ein Teil aus den Neulingshinweisen, die du nicht gelesen/beachtet hast:
Wenn du Code postest, dann bitte nur ein kleines darstellendes Programm, welches man sofort und ohne Umwege kompilieren kann. An dieser kleinen Demo soll dein Problem klar dargestellt sein. Die Demo darf keinen Code enthalten, der nicht am Problem beteiligt ist (abgesehen von allem, was zu einem kompilierbaren Programm gehoert).
-
Mit printf
-
Deine Funktion sollte in jedem Fall ein Wert mit return zurückgeben.
-
Wie kann ich den Wert für Spkt1 wiedergeben?
Was muss ich alles in das printf einsetzen, damit der Wert af meinem Bildschirm erscheint?
Ich weiss nicht wie ich das mit dem VEC anstelle.
Habe für VEC den typedef struct VEC{
double x, y;
}VEC; erstellt.Vielleicht hilft diese kurze Beschreibung.
-
Wie gibst du denn mit printf eine double Variable aus?
Du musst halt printf ein Strukturelement als Parameter übergeben.Ist eigentlich merkwürdig, denn bei GER schaffst du es ja auch auf die Elemente einzeln zuzugreifen (Zeile 5).
-
Ich weiss nicht, ob dieser Ansatz richtig ist.
printf("\Der Wert für den Schnittpunkt lautet %ld %ld",schnittpunkt1(Spkt1.x, Spkt.y));
-
student2811 schrieb:
Ich weiss nicht, ob dieser Ansatz richtig ist.
printf("\Der Wert für den Schnittpunkt lautet %ld %ld",schnittpunkt1(Spkt1.x, Spkt.y));
Nein. Zeichen \D gibt es nicht. Formatspezifizierer %ld gibt es nicht (denkst du an scanf?). Formatstring erwartet 2 Werte, du gibst nur einen Wert, noch dazu von einem Strukturtyp, was sowieso gar nicht geht.
-
Das d bei %d steht für dezimal integer.
printf erwartet für jeden Formatspecifier (die mit dem % davor) ein Parameter.
Und zwar einfache Typen wie double, float, int, char (je nach Specifier).
Schau doch mal nach, welche printf kennt: http://www.cplusplus.com/reference/clibrary/cstdio/printf/