C Programm für Parabel
-
Hallo Leute,
ich hab ein blödes Problem. Es geht darum das ich gern ein Programm schreiben würde für die Schule. Es soll ein Programm sein, welches eine Parabel berechnet und danach auf dem Bildschirm in Sternchen ausgibt, für die Hausaufgaben zuhause. Nur leider hab ich eine totale Schreibblockade. Mir fehlt irgendwie jeder Ansatz und ein guter C Programmierer bin ich auch nicht grad. Ich hab auch schon danach gegoogelt. Nur leider keine "Rohversion" für ein solches Programm gefunden.
Kann mir jemand da irgendwie Tipps geben, oder helfen... ich steh grad total auf dem Schlauch.
-
Kann mir denn keiner helfen?
-
Ungeduld wird vom Leben gestraft.
Du hast nicht einmal 1 Stunde gewartet, um uns daran zu erinnern, dass wir dir helfen sollten. Hast du denn uns etwa dafür gezahlt, oder woher nimmst du dir solche Ansprüche?
-
Entschuldige für meine Frage.
-
Du hast die Parabel f(x) = a2x2+a1x+a0
Damit kannst du die Parabel berechnen.Zum plotten nimmst due ein Feld char plot[25][80]; und füllst es mit Leerzeichen und '\0'
Darin kannst du dann deine * setzen.Wenn du fertig bist, gibst du das Feld zeilenweise aus.
Oder du nimmst gnuplot oder GNU Octave.
-
1. Eine so gezeichnete Parabel muss nur für n x-Werte auch einen y-Wert ausrechnen. Ich würde einfach eine ganz stumpfe Funktion schreiben welche in einer Auflösung "n" y-Werte berechnet - diese werden dann ausgegeben. (Bzw. erstmal abgespeichert und dann ausgegeben bei Konsolen Programmen)
2. Auf Konsolen-Basis dürfte das recht hässlich aussehen - google doch mal nach "Funktions-Plotter"
-
Okay, dankeschön. Ich versuch mal damit etwas anzufangen. Danke für die Infos
-
Deine eigene Formel und die Bereichsgrenzen anzupassen dürfte wohl nicht so schwer sein:
-
Oh, wow. Dankeschön. Ich schau mal was ich daraus basteln kann.
-
Ich versuch das jetzt erstmal zu entziffern, bevor ich da irgendwo die richtige Stelle finde. Danke für eure Hilfe.
-
Boa, okay. Ich glaube dieses Programm übersteigt mein Wissen um längen.
Allein die Zeile 35 versteh ich nicht. Vorallem, wie bring ich da die x Achse noch rein und die Nullstelle?
-
ender schrieb:
Boa, okay. Ich glaube dieses Programm übersteigt mein Wissen um längen.
Allein die Zeile 35 versteh ich nicht. Vorallem, wie bring ich da die x Achse noch rein und die Nullstelle?Dann lass es erstmal sein und versuch es mit dem Vorschlag von DirkB. Das sollte wesentlich einfacher sein.
-
Wie füllt man denn die [25][80] auf?
und was muss man schreiben, damit dann bei den bestimmten Stellen ein Sternchen steht?
-
Steht im C-Buch im Kapitel über Vektoren/Arrays und Felder.
char plot[25][80]; int x,y for (y=0;y<25;y++) { for(x=0;x<79;x++) { plot[y][x] = ' '; // Leerzeichen einstellen } plot[y][79] = '\0'; // Damit es ein String wird } // Hier wird ein '*' in das Feld geschrieben plot[12][40] = '*'; for (y=0;y<25;y++) puts(plot[y]);
Du musst jetzt nur dafür sorgen, dass deine Bereiche auf 0-24
bzw. 0-78 (x) abgebildet werden.
-
Uiii, dankeschön.
Wenn ich eingebe ->ergebniss = (f(x) = (x*x)*a + a*x - a);
Dann bringt er mir kein richgites Ergebniss raus. Auch wenn ich den Inhalt von a Fülle.
-
ender schrieb:
Uiii, dankeschön.
Wenn ich eingebe ->ergebniss = (f(x) = (x*x)*a + a*x - a);
Dann bringt er mir kein richgites Ergebniss raus. Auch wenn ich den Inhalt von a Fülle.
blah = x*x*a + x*b + c
-
Bei der Normalparabel ist a = 1; b=0; c= 0;
Und a, b, c und x müssen vor der ersten Benutzung "gefüllt" werden.
-
Was hast du denn derzeit für einen Code?
-
Bis jetzt habe ich es geschafft ein Koordinatensystem zu kreiren, nur
irgendwie klappt das nicht, den Inhalt eines Integers zu ploten...
Man beachte dabei Zeile 21#include <stdio.h> #include <stdlib.h> int main() { char plot[25][80]; int x,y; int p, f, s; for (y=0;y<25;y++) { for(x=0;x<79;x++) { plot[y][x] = ' '; // Leerzeichen einstellen } plot[y][79] = '\0'; // Damit es ein String wird } p=0; s=22; // Koordinatensystem for(f=25; p < f; p++, s--) { //plot[p][6] = s ; //Koordinatenzahlen plot[p][7] = '|'; } f=0; for(p=80; f < p; f++) plot[23][f] = '_'; for (y=0;y<25;y++){ puts(plot[y]);} getchar(); return(EXIT_SUCCESS); }
Bin außerdem immernoch am grübeln wie die Abfragen für die Parabeln lauten sollen.
-
Ich kann nicht so richtig nachvollziehen, dass dir das Schwierigkeiten bereitet. Wie der C-Code aussieht weißt du ja jetzt. Wie man eine Formel richtig in C umsetzt hat man dir auch gezeigt. Der Rest ist genau das selbe, was du sonst auch auf dem Papier machen würdest. Du hast doch schon mal selber Graphen in ein Koordinatensystem eingetragen?
Vielleicht hapert es aber auch nur am Verständnis für C-Strings oder Felder im Allgemeinen? Wenn ich mir deine Zeile 21 ansehe, scheinst du den Zusammenhang wirklich nicht verstanden zu haben. Schau dir noch mal den Post (15:17:35 18.01.2011) von DirkB genauer an. Besonders die Dimensionen des Arrays, bzw. deines Koordinatensystems. Vielleicht führst du den Code auch einfach mal aus, wenn du es dir nicht vorstellen kannst.