Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was ist das denn? Das funktioniert ja vorne und hinten nicht.
Das einzige was irgendwie funktionieren könnte ist die Schleife. Und die gibt immer(!) folgendes aus: 0 1 2 3 4 5 6 7 8 9
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Deine Aufgabe ist es ja wohl eben diese Koeffizienten, also das Approximationspolynom auszurechnen. Das was du hier treibst hat nichts damit zu tun sondern sind Versuche die Werte dieses Polynoms zu berechnen.
Code:
int array[0..3]
function horner;
int i;
result := coeff[3];
for (i=0; i<10; i++)
printf (i);
Wenn man das hier sieht ist es offensichtlich, dass du deinen ganzen Code von irgendwo zusammenkopierst und keine Ahnung hast was du tust. Da wird C mit falschen Pascal gemischt und was rauskommt hat überhaupt keinen Sinn.
Code:
int horner(double Ac[], double Ax[], int n, double x) {
/* Ac ist der Vektor mit den Koeffizienten,
Ax sind die Stützstellen und, n die Anzahl von Stützstellen und
x der Punkt, an dem ausgewertet werden soll. */
int i;
double y = 0;
for(i=n; i>=0; i--) {
y = y * (x - Ax[i]) + Ac[i];
}
return y;
}
Das hier ist auch nicht viel besser. Die Funktion gibt int zurück, du schreibst aber return y. Das ist aber ein double den du obendrein noch mit = 0 initialisierst.
Hast du schon mal die eine Stelle an der Steht n=2 durch n=5 ersetzen probiert? Auf den 1. Blick sieht das Programm so aus als sollte es dann immernoch funzen und nen polynom 5. grades statt 2. grades verwenden.
Hast du schon mal die eine Stelle an der Steht n=2 durch n=5 ersetzen probiert? Auf den 1. Blick sieht das Programm so aus als sollte es dann immernoch funzen und nen polynom 5. grades statt 2. grades verwenden.
Auf das n hab' ich auch schon mehrmals hingewiesen, weil ich das auch vermute. Aber ne Antwort ob das funktioniert bekam ich noch nicht.
Das wäre natürlich schon geil, wenn dieser ganze seitenlange Thread durch einen einzigen Post hätte ersetzt werden können. Und ein so trivialer noch dazu.
ich habe mal in meinem programm die 2 zu ne 5 verändert und das klappt, wäre es denn richtig oder muss da noch einiges verändert werden?
weil mein prof hat mir ein code geschickt
Code:
int horner(double Ac[], double Ax[], int n, double x) {
/* Ac ist der Vektor mit den Koeffizienten,
Ax sind die Stützstellen und, n die Anzahl von Stützstellen und
x der Punkt, an dem ausgewertet werden soll. */
int i;
double y = 0;
for(i=n; i>=0; i--) {
y = y * (x - Ax[i]) + Ac[i];
}
return y;
}
und hat gesagt so in etwa, aber wenn mein programm doch schon den 2.grad zeichnen kann dann muss ich doch einfach nur die 2 verändern oder?
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Na dann nimm einfach deinen bestehenden Code. Und bau das von deinem Prof rein.
Software Engineering hat schon was von normalen Engineering.
Die einzelnen unterprogramme kannst du dir wie kleine Maschinen vorstellen. Du steckst was ran, die machen was damit und am Ende kommt was raus.
Die Ingeneure müssen ihre Maschinen mit Förderbänder und Kabel verbinden. Wir tun das mit Variablen. Du nimmst die Ausgabe einer Funktion, speicherst die in einer Variable und steckst diese dann in die nächste Funktion wieder rein.
Es geht einfach nur darum, die "Maschinen" in der richtigen Reihenfolge und Art und Weise zu verbinden.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Warum sollte sie das einbauen? Der Code lässt sich noch nicht mal übersetzen.
Woher soll Jule wissen, wo sie es einbauen muss? Das muss schon jemand für sie machen.
BTW. benutzt "jules" Code ja schon das Hornerschema (hat sie wohl benutzt ohne es zu merken),
von daher muss man gar nichts einbauen.
Hoffentlich funktioniert n Erhöhen nicht nur, sondern führt auch zum gewünschten mathematischen
Ergebnis. Ich bin vielleicht dumm, aber mir ist bis jetzt nicht 100%ig klar, was für ein Polynom mit
welchen Eigenschaften überhaupt ermittelt werden soll.
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.