010
16.03.2005, 09:21 Uhr
Pablo
Supertux (Operator)
|
Zu deiner Frage: die Potenzieren a^b ist definiert als a^b := a * a * ... * a insgesamt b mal mit sich selbst multipliziert. a ist die Basis, b das Exponent. In deinen Code ist Basis b und Exponent e, also b^e = b * b * ... * b (e mal).
Eine Definition int i; führt nicht dazu, dass i den Wert 0 bekommt, stattdessen hat i einen beliebigen Wert, könnte 0 sein aber das ist i 99% der Fälle nicht der Fall. Deshalb muss eine Initialiserung erfolgen, damit i den richtig Wert hat, bevor man damit anfängt zu rechnen (gilt auch für erg). i ist in deinem Code ein Zähler, d.h. i zählt vie oft erg = erg*b stattfindet. Warum while(i<e), weil man e Mal b mit sich selbt multiplizieren soll.
Abgesehen davon ist dein Code nicht sauber, denn 1. ist nicht Standard und 2. fehlerhaft, denn das wird nicht kompiliert, cout, cin werden nicht gefunden sofern du kein using namespace std; hast und/oder std::cout, std::cin benutzt, und wenn ein Compiler schafft deinen Code zu kompilieren, würde ich einen anderen suchen, weil der nicht richtig arbeitet, und der mingw würde sowas nie kompilieren.
Zitat von Angel1984: |
das std. habe ich sowieso in Zusammenhang mit C++ nicht verstanden.. wozu ist es denn da??
|
std ist ein Namespace (Namensbereich), siehe beefys Erklärung dazu.
Zitat von Angel1984: |
Wir haben das std:: während der Vorlesungen auch nicht benutzt...
|
was? Solche Codes schreibt ihr in der Vorlesung? Dann sollte der Dozent dringend das Programmieren mit C++ lernen ... -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |