Falcher Wert berechnet
-
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int nEingabe = 0, nHochZahl = 0, nHexFeld[3]; int main(void) { for (int i = 3; i >= 0; i--) { nHexFeld[i] = 0; } nEingabe = 65535; nHochZahl = pow((double)16, (int)3); nHexFeld[3] = nEingabe / nHochZahl; cout << nEingabe << " " << nHexFeld[3]; cout << endl << endl << endl; system("PAUSE"); return 0; }Das Problem ist, das der Variable nEingabe den Wert 15 zugewiesen wird und ich kann mir nicht erklären woher dieser Wert kommt. Wer eine Idee was ich falsch mache?
-
Du hantierst mit nHexFeld[3] (also dem 4. Element), obwohl das Array nur drei Elemente hat.
Und warum sind deine Variablen außerhalb von main deklariert?
-
Hehe... bin gerade dabei meine im Studium erworbenen Kenntnisse nicht vergammeln zu lassen. Ja da war etwas mit den Feldern....
Ich frage mich gerade auch, weshalb ich die Variablen als globale definiere. Schnell ändern!
Danke.
-
Wenn Du so ein Array füllst, würde ich die for Schleife von 0 bis n-1 laufen lassen, also hochinkrementieren. Das ist übersichtlich.
lg, freakC++