c++ hilfe !!! :(
-
Also nochmal langsam: Du hast eine Funktion "folge()" und willst diese mit den Werten 0 und 1 aufrufen. Welche Beziehung haben deine Werte "a", "delta", "y" und "z" zu dieser Funktion?
PS: Übrigens wird ein C++ Programm sequentiell abgearbeitet - d.h. du solltest erst deine Randbedingungen eingeben und danach die Funktionswerte berechnen.
-
ich versuche es am einfachsten zu erklären
bei der folge X(n+1)=Xn²+a werden die werte x(1),x(2)..etc divagieren,aber je nach "a" entweder schnel 0,4,5,6,8,9...etc oder langsam 0,0.3,0.5,..etc und um das zu beurteilen muss mann einen schwellenwert haben ,hier mal angenommen ist 2 .
und die zahlen sind ja unendlich,das weiste schon,also um das zu vermeiden setzen wir zwei grenzen zu "a" und zwar "y" und "z" beispielweise y=-6 und z =8 ,und der abstand von a zu a ist delta das habe ich genug (3. antwort) erklärt .
hier muss das program das ergebnis der subtraction von z.b folge(2)-folge(1) rechnen und das ergebnis beurteilen,wenn größer als 2 ist schnell divagent und umgekehrt
guck dir mein source code an ,du wirst besser verstehen was ich zu tun versuche.mfg
-
Aus deinem Programmcode kann man gar nichts erkennen, sonst hätte ich ja nicht nachgefragt. Und deine letzte Beschreibung macht es nur minimal besser.
OK, du hast eine Folge xn+1=xn2+a und willst für verschiedene Werte von a jeweils x0 und x1 berechnen und vergleichen - um damit irgendeine Eigenschaft feststellen. Was für einen Einfluß darauf haben y und z?
------------------------------------
Technisch:
- die mathematischen Grundlagen deines Programms solltest du nochmal überdenken. Was willst du erreichen? Wie würdest du das auf dem Papier berechnen? ...?
- aus Programmsicht ist die Reihenfolge der Abarbeitung falsch - du berechnest erst die Werte x0 und x1 (mit den Initialwerten deiner Variablen) und fragst danach ab, für welche Werte die Funktion überhaupt berechnet werden sollen.
-
damit der compiler nicht für unendliche "a" die divagnez untersucht wir sezten zwei grenzen ein minimal "a" und ein maximal "a" und die sind y und z
du hast jetzt bestimt alles verstanden.
kannste mein source code corigieren ?haste eine idde wie das program aussieht?
danke
mfg
-
Dir ist klar, daß die Funktion nur einen Wert über return zurückgeben kann? Das heißt, wenn du alle Werte von a in deinem Bereich berechnen willst, benötigst du eine Schleife
for(a=y;a<z;a+=delta) berechne.PS: Und da du immer noch nicht erklären konntest, was die Funktion folge() überhaupt zurückgeben soll, ist es schwierig, das zu korrigieren. Ich würde am ehesten auf sowas tippen:
double folge(int n,double a) { double x = a; for(int i=0;i<n;++i) x=x*x+a; return x; } int main() { //Eingabe der Werte for(double a = y; a<z; ++a) { double f=folge(0,a),g=folge(1,a); cout<<"Die Folge divergiert für "<<a<<(g-f<2)?" langsam":" schnell"<<endl; } }
-
ich glaube wir sind aufm richtigen weg,beim kompalieren ist aber ein ungewönlichen error augetreten
( invalid operands of types `const char[9]' and `<unknown type>' to binary `operator<<' )#include<iostream> #include <stdlib.h> using namespace std; double folge(int n,double a) { double x = a; for(int i=0;i<n;++i) x=x*x+a; return x; } int main() { int y; int z; int delta ; int n; cout << "bitte delta-a eingeben " << endl; cin >> delta ; cout << "bitte y eingeben " << endl; cin >> y ; cout << "bitte z eingeben " << endl; cin >> z ; //Eingabe der Werte cout << "bitte n eingeben " << endl; cin >> n ; for(double a = y; a<z; ++a) { double f=folge(0,a),g=folge(1,a); cout<<"Die Folge divergiert für "<<a<<(g-f<2)?" langsam":" schnell"<<endl; } }so hab ich den quelltext geschrieben
haste eine ahnung was das überhaupt ist?
-
Hmm, könnte sein, daß du das ?: in Klammern setzen mußt, damit die Operator-Rangfolge berichtigt wird.
PS:
haste eine ahnung was das überhaupt ist?
Nicht wirklich - aber ich versuche mir etwas aus deinen Erklärungen zusammenzureimen

-
CStoll,ich habe das dieses mal so geschrieben
cout<<"Die Folge divergiert für "<<a<<(g-f<2)(?" langsam":" schnell")<<endl;und so hab ich auch versucht
cout<<"Die Folge divergiert für "<<a<<(g-f<2)?(" langsam":" schnell")<<endl;tretten zwei fehler auf

(expected primary-expression before '?' token )
(`((g - f) < 2.0e+0)' cannot be used as a function )oder wie meinste mit in klamaren setzen ,kannste es als ausschnit von dem queltext schreiben

danke
mfg
-
Du mußt den kompletten Ausdruck in Klammern setzen - und dazu gehört auch die Bedingung:
cout<<"Die Folge divergiert für "<<a<<((g-f<2)?" langsam":" schnell")<<endl;
-
eher so
cout << "Die Folge divergiert für " << a << (g-f<2 ? " langsam":" schnell") << endl;[edit]Etwas zu spät. :xmas1: [edit]
-
CStoll ,alter du bist einfach klasse
,hat funktioniert
Braunstein danke für deinen beitrag ,auch der letze von Cstoll hat funktioniert.
das program musste ich eigetnlich mit einem "a" als komlexe zahl schreiben ,kein problem ich kenne mich damit aus
,am wictigsten war es den ablauf der program zu kriegen.
bei weiteren fragen melde ich mich bei euch
vielen dank
mfg
-
Eisenheim1 schrieb:
CStoll ,alter du bist einfach klasse
,hat funktioniert
Braunstein danke für deinen beitrag ,auch der letze von Cstoll hat funktioniert.
das program musste ich eigetnlich mit einem "a" als komlexe zahl schreiben ,kein problem ich kenne mich damit aus
,am wictigsten war es den ablauf der program zu kriegen.
bei weiteren fragen melde ich mich bei euch
vielen dank
mfgHEY ALTAMuhaha! Ich wette der sitzt noch den ganzen Tag daheim und "kompamiliert" vor sich hin,während er sich über "komlexe" Zahlen den Kopf zerbricht *LOL* *MUHAHA*
-
Muhaha! Ich wette der sitzt noch den ganzen Tag daheim und "kompamiliert" vor sich hin,während er sich über "komlexe" Zahlen den Kopf zerbricht *LOL* *MUHAHA*
*lol* sehr lustig

-
Eisenheim1 schrieb:
Muhaha! Ich wette der sitzt noch den ganzen Tag daheim und "kompamiliert" vor sich hin,während er sich über "komlexe" Zahlen den Kopf zerbricht *LOL* *MUHAHA*
*lol* sehr lustig

Da schreib ja sogar "ICH" besser. *HAHA*
Zurück zum Thema: www.groskleinschreiben.de
Noch viel Spass beim *proggen*.