C Programm für Parabel
-
Auf meinem Rechner psiert nichts, außer eine sehr lange Ladezeit.
Und so sieht es hier aus: http://codepad.org/jYBVA3m7
-
Was mich noch wundert ist: Wie man Das Ergebniss von 2 Double-Werten in einem Integer Speichern kann.
xi = (x-x_min) * ANZ_X /(x_max-x_min);
-
Hier mal ein funktionierendes Beispiel. Du solltest aber unbedingt vergleichen, was du anders machst.
-
Meine x_skaliert Funktion ist offensichtlich fehlerhaft. Der Rest sollte aber wie die Ausgabe passen.
-
Ein Fehler ist beim befüllen:
//for (yi=0;y<ANZ_Y;yi++) FEHLER da steht y< statt yi kleiner for (yi=0;yi<ANZ_Y;yi++) { //for(xi=0;x<ANZ_X;xi++) dito for(xi=0;xi<ANZ_X;xi++) { plot[yi][xi] = ' '; // Leerzeichen einstellen } plot[yi][ANZ_X] = '\0'; // Damit es ein String wird }
Hab ich auch nicht gleich gesehen
-
Also bei Pauls programm kommt ein "STATUS_ACCESS_VIOLATION" Fehler
@Dirk.B das ist ja jetzt das Koordinatensystem oder?
An welcher Stelle hast du denn geplant wo der Teil mit der Parabel hinkommen soll?
-
Der Quellcode von euren Programmen sehen mir ziemlich "Profimäßig" aus.
Wenn es dir hilft @Paul, es wird jedenfalls bei mir einfach nur ein "Stackdump" erstellt
und anschließend das Programm beendet, und das liegt an der funktion x_skaliert?
-
Nein, das ist der Teil der die Leerzeichen einsetzt. (Bei dir Zeile 26 - 31)
Für die Parabel musst du noch a, b und c mit werten besetzen.
Z.B.: a = 1.0; b = 0.0; c = -8.0;Die Parabel wird in den Zeilen 54 - 61 berechnet
-
Das Problem ist schon längst gefixt.
int x_skaliert(int x, int min, int max) { int offset = min < 0 ? min : 0; /* Offset verschiebt den Ursprung */ x -= offset; /* Betrag von offset addieren */ min -= offset; max -= offset; x = (x - min) * (X_MAX-1) / (max - min); return x; }
-
1. Dasselbe auch bei y_skaliert?
2. Wow, danke für eure tolle Hilfe / Unterstützung und Arbeit
-
Ich hab nun noch etwas dazugeschrieben für die Eingabe von a, b und c
printf("\nGeben Sie a ein: "); scanf("%d\0", &a); printf("\nGeben Sie b ein: "); scanf("%d\0", &b); printf("\nGeben Sie c ein: "); scanf("%d\0", &c);
-
Nein y_skaliert ist so in Ordnung. Da wird kein Offset berechnet, weil mit der gegebenen Funktion kein negativer Funktionswert raus kommen kann.
Allgemein ist mein Programm auf x² spezialisiert. Für eine Verallgemeinerung müsstest du die min- und max-Parameter für y_skaliert vorher richtig ermitteln und auch die Offset-Funktionalität von x_skaliert mit übernehmen. Momentan vereinfache ich die Wertwahl durch mein Wissen, dass keine negativen Werte raus kommen können und die größten Funktionswerte bei x_min und x_max liegen müssen.
Bis auf die Parameter für die Y-Skalierung ist es aber flexibel gestaltet und sollte auch mit anderen Funktionen funktionieren.
-
Danke für die Infos und die Unterstützung von euch.
-
Codepad findet doch noch Fehler ^^
Line 16: error: unterminated comment
In function 'main':
Line 43: error: expected declaration or statement at end of input
Line 43: error: expected declaration or statement at end of input
-
Okay die ab 40 sind mein Mist sorry
-
Ne passt doch alles, war nur dieser Kommentarfehler von mir!
-
Wenn du schon mit Codepad testest, solltest du gleich den Vorteil nutzen und uns den Link mitteilen. So sehen wir deinen konkreten Code und die Fehlerbeschreibung. Einfach nur Zeilennummern zu posten, wenn wir nicht wissen was du verändert hast, ist reines Ratespiel.
-
Sagte ja, war nur ein vergessenes Semikolon.
Danke nochmals
-
Da ist noch was nicht richtig, mir ist das auch erst später aufgefallen.
Das ganze Gerüst steht auf dem Kopf xDDas heißt die xi und yi Werte müssten negiert werden.
Ich hab Stundenlang nach einer Möglichkeit oder einer Funktion gegoogelt, bin
aber auf nichts gestoßen nur auf etwas bei denen man das erste Bit ändert, aber wie funktioniert das?
-
Wie würdest du ein Bild spiegeln, sodass die erste Zeile ganz unten ist und umgekehrt?
Wo müsste die erste Zeile hin, wo die Zweite, wo die Letzte?
Es gibt da eine ganz einfache Rechenregel...