Anfängerfrage zur Berechnung in Klassen
-
Hallo,
bin neu in diesem Forum. Ich studiere zurzeit Wirtschaftsinformatik im 1. Semester und lerne gerade C++. Mein Problem ist, dass viele Kommilitonen schon C++ in der Schule bin, und ich nicht sehr gut mitkomme. Nun hätte ich eine Frage zu meiner Hausaufgabe. Jetzt denken sich alle, "der ist bestimmt zu faul um irgendwas nachzulesen und stellt seine Aufgabe ins Forum und denkt dass wir die lösen" ^^. Habe mir in 2-3 Büchern die Klassen Kapitel durchgelesen, aber so wirklich verstehe ich nicht wie ich die Berechnung aus meiner HA in die Klasse bringen soll. Ich soll mittels einer Klasse und get bzw set Methoden bestätigen, dass lim n(a[h]n-1) = ln a für reelle a > 0 ist. a soll hierbei a als Datenelement der Klasse definiert und über eine entsprechende get-Methode vom Benutzer eingelesen werden. Die Aufgabe geht noch weiter, mit einer Schleife, aber jetzt komme ich hier schon nicht weiter.Zur Zusammenfassung: Wie kann ich jetzt diese Formel : n(a[h]n-1) in die Klasse bekommen und wie bekomme ich diese dann mit der get/set Methode angezeigt. Habe angefangen aus einem Video etwas zu formulieren,aber ab hier komme ich nicht weiter..
#include <iostream> #include <math.h> #include <stdio.h> using namespace std; class Berechnung { private: double a; double n; public: void seta(double); void setn(double); double geta(); double getn(); }; void Berechnung::seta(double c) { a = c; } void Berechnung::setn(double d) { n = d; } double Berechnung::geta() { return a; } double Berechnung::getn() { return n; } int main() { Berechnung myBerechung; double aa , nn; cout << "Geben sie ihren Wert fuer n ein" << endl; cin >> aa; cout << "Geben sie ihren Wert fuer a ein" << endl; cin >> nn; myBerechung.seta(aa); myBerechung.setn(nn); cout << "Ihr Ergebnis ist" << myBerechnung.geta(aa); cout << "Der Logarithmus von a ist" << myBerechnung.getn(nn) << endl; system("pause"); return 0; }
-
Wie würdest du es denn ohne Klasse machen?
-
Ganz blöde Frage:
Was ist lim n(a[h]n-1) überhaupt für eine Formel?Bei lim erwarte ich doch irgendwie eine Schreibweise mit variable->wert. Was bedeuten die eckigen Klammern? Was sind a und h und n? Welche Variable geht gegen welchen Wert? Und wie stellst du sicher, dass das alles numerisch passt, sofern du mit floats rechnest? Fragen über Fragen.
Und mittels get und set eine Formel zu bestätigen, halte ich doch für etwas gewagt.
-
wob schrieb:
Ganz blöde Frage:
Was ist lim n(a[h]n-1) überhaupt für eine Formel?Vielleicht ist der Grenzwert nach Hurwitz gemeint: lim(n->0){(a^n-1)/n}=ln(a)
-
Gut, dann wäre das geklärt.
Mir erschließt sich dann an der Aufgabe nicht, was das mit einer Klasse zu tun haben soll - wozu braucht man hier State?
Als Rat an Blackcinamon:
Schreib eine Funktiondouble hurwitz(double a, double n), die dir den Grenzwert berechnet (bzw. für ein Bestimmtes n>0 den Wert ausgibt) und vergleiche dann für verschiedene n>0 die Differenzlog(a)-hurwitz(a,n). Du darfst vermutlich nicht zu dicht an 0 gehen, weil das sonst numerisch instabil wird.