GenericName Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) ... Endret 11. januar 2011 av Token Lenke til kommentar
Dead_Rabbit Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) Du bare opphøyer svaret... Edit: Misforstod spørsmål... Endret 29. januar 2005 av zirener Lenke til kommentar
Herr_Dude Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) enten inkluderer du #include <cmath> og bruker pow(5.54, 64); eller så lager du en for loop: mul = 5.54; for (int i = 0; i < 64; i++) mul *= 5.54; hvis det var det du lurte på... edit: kom til å trykke ok før jeg var ferdig Endret 29. januar 2005 av Herr_Dude Lenke til kommentar
søppel4 Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 (endret) Litt smør på flesk dette -- siden Herr_dude egentlig stort sett har svart på det, menneh: #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() { long double a_number; long double power; cout << "A number: "; cin >> a_number; cout << "..to the power of: "; cin >> power; cout << a_number << "^" << power << " = " << fixed << powl(a_number, power) << endl; return(0); } // main A number: 5.54..to the power of: 64 5.54^64 = 384259791367129117347774565544556544179189055488.000000 A number: 2..to the power of: 2 2^2 = 4.000000 Jeg regner med at det er "bra nok" å lese inn i en double-sak for både heltall og flyte-tall. Hvis ikke ville jeg brukt en template. Let me know - så paster jeg et eksempel på det også. Fryktlig irriterende disse moderatorene på dette stedet forresten; bare i veien .. Edit: Hm, 5.54 * 64(tegn høyre hjørne)Da skal 5.54 gange med seg selv 64 ganger. Det å gange et tall med 64 er ikke det samme som å gange tallet med seg selv 64 ganger. Edit2: Når jeg tenker meg om (sjekker) så finnes det jo ikke noen funksjon á pow som tar heltall alikevell. double pow(double x, double y);float powf(float x, float y); long double powl(long double x, long double y); ..men dette var det jeg tenkte på da: #include <iostream> #include <iomanip> #include <cmath> using namespace std; float myPow(float num, float pow) { return(powf(num, pow)); } // myPow double myPow(double num, double pow) { return(std::pow(num, pow)); // Hvorfor må jeg ha std:: forran denne? (GCC 3.4.3 - mulig det er en bug.) } // myPow long double myPow(long double num, long double pow) { return(powl(num, pow)); } // myPow int main() { long double a_number; long double power; cout << "A number: "; cin >> a_number; cout << "..to the power of: "; cin >> power; cout << a_number << "^" << power << " = " << fixed << myPow(a_number, power) << endl; return(0); } // main Edit3: Så kunne a_number vært "samma om det er int eller double", som du sier .. liksom. Edit4: template-spesialiseringer var jo så klart ikke nødvendig her. Endret 30. januar 2005 av søppel4 Lenke til kommentar
saboi Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 wow. dagens pris for unødvendig bruk av templates går til: søppel. det er greit at templates er en fin ting, men du trenger ikke bruke det i hver eneste linje kode.. hva er egentlig vitsen med å lage en template, å så fullt spesialisere den for de typene du vil ha? det er derfor man har funksjonsoverloading. du kan liksom fjerne template<typename T> T myPow(T num, T pow); og fjerne template<> foran funksjonene så har du akkurat den samme koden Lenke til kommentar
søppel4 Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 (endret) Hum, ja - sannt. Gikk fort i svingen i dag til morran. Btw. noen andre som merker noe til pow-greiene jeg snakker om? (kan ikke bruke pow som funksjon i alle tilfeller) edit: Ouch .. navnet 'pow' er et argument i funksjonen ja. edit2: Himmla synd -Wshadow ikke tar dette. ( http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gc...Warning-Options ) Endret 30. januar 2005 av søppel4 Lenke til kommentar
GenericName Skrevet 30. januar 2005 Forfatter Del Skrevet 30. januar 2005 (endret) ... Endret 11. januar 2011 av Token Lenke til kommentar
GenericName Skrevet 30. januar 2005 Forfatter Del Skrevet 30. januar 2005 (endret) ... Endret 11. januar 2011 av Token Lenke til kommentar
Herr_Dude Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 Du øker i med en. Er det samme som: i = i + 1; // eller, i += 1; Lenke til kommentar
Z_IM Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 (endret) ++(inkrementoperatoren) --(dekrementoperatoren) --X(predekrement) X--(postdekrement) x = y = 99; x = --y; //x = 98 og y = 98, predekrement vil si at den dekrementererer før noe annet(pre) x = y--; //x = 99 og y = 98, postdekrement vil si at den dekrementerer etterpå(post) x = y = 99; x = ++y; //x = 100 og y = 100, preinkrement vil si at den inkrementererer før noe annet(pre) x = y++; //x = 99 og y = 100, postinkrement vil si at den inkrementerer etterpå(post) Edit: som du sikkert har lest en eller annen plass C++ Edit2: var litt kjapp der ja forvekslet inkrement med dekrement i svingene:) takk Styggentorsken Endret 31. januar 2005 av Z_IM Lenke til kommentar
Steinbitglis Skrevet 31. januar 2005 Del Skrevet 31. januar 2005 (endret) x = ++y; //x = 100 og y = 100 og x = y--; //x = 100 og y = 99 Trodde jeg da... Ingen årsak :-) Endret 2. februar 2005 av Styggentorsken Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå