[Help] Maximum von Zahlen in einem Array finden?
-
und wenn ich jetzt einen char "testchar" an eine Funktion übergebe, muss ich die funktion in der art schreiben:
void funktion(char *einchar) {} int main() { funktion(testchar); ....
ich übergebe als einen char, übernehme bei der funktion aber einen zeiger, innerhalb der funktion muss ich dann aber wieder nicht derefferenzieren, da "testchar" quasi ein array von chars ist ? (hab hier nämlich grad so ein programm, welches einen char als zeiger übernimmt, innerhalb der funktion aber den char ohne zu derefferenzieren an einen konstruktor der klasse String übergibt)
-
Funktioniert der von mir (leicht) modifizierte Code nicht oder liest du die Posts nicht richtig?
Caipi
-
int max ( int const *v, int anzahl) { //Bestimmung des Maximums int max = v[0]; for (int i=1; i<anzahl; ++i) { if ( v[i] > max) max = v[i]; }return max; }
habe das ganze jetzt auf ++i gestellt und jetzt funktionierts.
komisch
-
DarkSea schrieb:
und wenn ich jetzt einen char "testchar" an eine Funktion übergebe, muss ich die funktion in der art schreiben:
void funktion(char *einchar) {} int main() { funktion(testchar); ....
ich übergebe als einen char, übernehme bei der funktion aber einen zeiger, innerhalb der funktion muss ich dann aber wieder nicht derefferenzieren, da "testchar" quasi ein array von chars ist ? (hab hier nämlich grad so ein programm, welches einen char als zeiger übernimmt, innerhalb der funktion aber den char ohne zu derefferenzieren an einen konstruktor der klasse String übergibt)
*nach oben schieb weil wahrscheinlich übersehen ?*
-
caipi hat dir doch geantwortet. wenn du mit [] auf einen wert zugreifst, wird automatisch dereferenziert. einchar an sich ist aber ein zeiger.
-
Die chars sind ein Sonderfall. Siehe auch: C++-FAQ - Arrays und Pointer
Caipi
-
maximum schrieb:
int max ( int const *v, int anzahl) { //Bestimmung des Maximums int max = v[0]; for (int i=1; i<anzahl; ++i) { if ( v[i] > max) max = v[i]; }return max; }
habe das ganze jetzt auf ++i gestellt und jetzt funktionierts.
komischmusst mal in die FAQ schauen... da steht drin, was der unterschied ist zwischen ++i und i++...
-
Eigentlich existiert die Funktion bereits:
int max ( int const *v, int anzahl) { return * std::max_element(v, v + anzahl); }
-
leech schrieb:
maximum schrieb:
int max ( int const *v, int anzahl) { //Bestimmung des Maximums int max = v[0]; for (int i=1; i<anzahl; ++i) { if ( v[i] > max) max = v[i]; }return max; }
habe das ganze jetzt auf ++i gestellt und jetzt funktionierts.
komischmusst mal in die FAQ schauen... da steht drin, was der unterschied ist zwischen ++i und i++...
In diesem Fall aber mal grad gar keiner.
-
ich wollte ihm ja nur sagen, dass er es nachlesen kann, da ich aus einem seiner oberen post rausgelesen habe, dass er den unterschied nicht kennt...
[quote = "maximum"]
habe das ganze jetzt auf ++i gestellt und jetzt funktionierts.
komisch
[code]mir war klar, dass es keinen unterschied macht.... ist ja ne for-schleife, da ists egal... aber da er rumgerätselt hat, was das problem sein könnte, wollte ich ihm ja nur den unterschied näher bringen...