Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Programm soll sich nicht selbst beenden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
14.10.2003, 17:46 Uhr
Pablo
Supertux
(Operator)


Die Frage hab ich schon vor ein Paar Tagen ausführlich (in einem anderen Zusammenhang) beantworten, deshalb ist nicht schlimm wenn du nicht gelesen hast.

Die Funktion pow(x,y) ist die Potenzierung von x^y.

x² = x hoch 2
Wurzel aus 2 = x^(1/2)

==> die n-Wurzel aus x ist = x^(1/n)

Deshalb gibt es keine 0-Wurzel, das macht keinen Sinn.

==> Um die dritte Wurzel von x zu bestimmen muss du

C++:
pow(x, 1/3);



schreiben, wobei x eine Variable ist.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
14.10.2003, 17:53 Uhr
~Zero
Gast


double seitenlaenge = pow(double (V/7.6631), double (1/3)) ;

bei der rechnung kommt immer 1 raus...egal was man für V einsetzt
Helft mir ^-^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
14.10.2003, 18:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das liegt daran, das

double(1/3) 0 ergibt und irgendwas hoch null ist eins.

probier mal so

C++:
double seitenlaenge=pow(V/7.6631,1/3.0);


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 14.10.2003 um 18:07 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
14.10.2003, 18:11 Uhr
Pablo
Supertux
(Operator)



C++:
double V = 8*7.6631;
double seitenlaenge = pow(V/7.6631, 1.0/3.0) ;



Du hast falsch gecastst und sieht aus, als hätte ich das nicht berücksichtig. 1/3 ist int/int und 1/3 ist gleich 0 und nicht 0.333333333
Also 1.0/3.0 ist double/double = 0.33333333333333

Wenn du double(int/int) machst, und int/int = 0 ==> double(int/int)=0 ==> pow(irgendetwas, 0)=1.

Du könntest auch:

C++:
double V = 8*7.6631;
double seitenlaenge = pow(V/7.6631, double(1)/double(3)) ;



Wenn du 2 bekommst, dann ist das richtig.

@Windalf war mal schneller
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 14.10.2003 um 18:12 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
14.10.2003, 20:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Pablo
lag vermutlich daran das ich kein Roman dazu geschrieben habe
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: