Wo ist der Fehler
-
struct werte { double wert; double zeit; }; int anzahl_ergebnisse(int ergebnisanzahl){ int x = ergebnisanzahl; while (--x){ ergebnisanzahl*=x; } return ergebnisanzahl; } int main(){ werte a; int ergebnisanzahl; int anzahl=0; cout<<"Geben sie die anzahl ihrer werte ein" <<endl; cin>>anzahl; a.wert[anzahl]; // hier soll ein falscher Typ sein a.zeit[anzahl]; // hier auch ergebnisanzahl= anzahl_ergebnisse(anzahl); long double ergebnise[ergebnisanzahl]; system("Pause"); return 0; }könntet ihr mir helfen
thx
-
MaxM93 schrieb:
könntet ihr mir helfen
Ja.
Schau dir den Link in meiner Signatur mal an und lerne daraus, uns die nötigen Informationen zu geben.
-
Naja ich versteh einfach nicht ,
wo der fehler ist .
Ich generiere erst eine strucktur werte.
mit den beiden variablen wert und zeit als double
und warum kann ich diese strucktur nicht als array mit dem index als int angeben
-
a.wert ist vom Typ double. Double kennt keine Operation[] die du da versuchst. Wenn du uns verrätst, was das Programm machen soll, kann man dir weiter helfen. Falls du ein dimensionierbares Array brauchst, nimm anstatt double den Typen std::vector<double>, dann kannst du mit resize() die Größe ändern.
-
naja das Gesamte programm soll halbwertszeiten berechnnene
als n viele n werte-zeit paaren
-
MaxM93 schrieb:
naja das Gesamte programm soll halbwertszeiten berechnnene
als n viele n werte-zeit paaren
Dann ist in der Tat std::vector das was du suchst. Aber lass dann den Quatsch mit dem vorherigen Festlegen der Größe. Lies einfach so lange Werte in den vector ein bis der Benutzer abbricht. Es gibt nichts ärgerlicheres als wenn man 100 Werte eintippt um dann festzustellen, dass man sich verzählt hat und 101 Werte eingeben wollte.
-
in ordnug : )
und wie soll ich das machen?
mit sowas wiex = 0; weiter; double wert[x]; double zeit[x]; while(++x){ cin>>weiter; if (weiter=1){ cin >> wert[x]; cin>>zeit[x]; } else{ break; } }soo?
-
ich würde es etwa so machen:
int x; std::Vector Vec; while(x>0)//der wert ist nicht kleiner als null oder hab ich was falsch versanden? { cin>>x; Speichern(Vec,x); //x in Vec speichern }es werden solange werte eingelesen bis der user 0 oder -1 oder sowas eingibt
mfg Luis
-
ich überlege die ganze Zeit, warum einen vector.
laut seiner Struktur möchte er doch Wertepaare speichern.
Die Frage ist jetzt zwar, ob die Werte eindeutig sein sollen, aber ich würde dann doch eher eine map oder multimap nehemenhttp://www.cplusplus.com/reference/stl/map/
http://www.cplusplus.com/reference/stl/multimap/
-
Danke Leute
...
Noch eine Frage wie kann ich die mathematishce funktion ln aufrufen
,
gibts die überhaupt
-
MaxM93 schrieb:
Noch eine Frage wie kann ich die mathematishce funktion ln aufrufen
,
gibts die überhauptJa, log.
-
jetzt wieder ne noch dümmere Frage also :
log ist doch aufm taschenrechner was ganz anderes als ln
-
Ja, da kocht jeder sein eigenen Süppchen.
Den Taschenrechner-log bekommst du mit log10.
-
Ok danke

könntest du mir sagen ob bei Halbwertszeiten
A(0) = 0,125
A(5) = 0,15ob da dann
TH = 1.79 rauskommt : / (also beim programm)entweder ist ein fehler in meinem programm
..... ergebnise[i] = -1* (log(2)/log(wert[i]/wert[0])*(zeit[i]-zeit[0])); ......oder ich kann nicht eintippen
TH = ln(2) * t
ln(A(t)/A(0))