Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Feld an Funktion übergeben

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 <
000
14.02.2005, 09:10 Uhr
~elec_ic
Gast


Hallo,

wie kann man denn Felder an Funktionen übergeben?
Was schreibt man da als Argument?
Wie gibt man dann das Feld mit return wieder zurück?
Und wie ruft man dann die Funktion auf? (und übergibt natürlich das Feld an sie)

Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.02.2005, 13:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


im allgemeinen übergibst du nicht da feld selber sondern nur einen zeiger aufs erste element...

z.b. mittelwert bildung

C++:
int array[] ={1,2,3,4,5,6,7,8,9,10};

int mean(int *a,int n){int i,rv;for(rv=i=0;i<n;++i)rv+=a[i];return rv;}

//aufruf
x=mean(array,10);



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.02.2005, 19:06 Uhr
~elec_ic
Gast


Danke, das wollte ich nur wissen...

Passt zwar nich in den Thread hier, aber irgendwo is n Bug (oder ne Eigenart von C++) in dem Code hier...

(Ich programmiere zwar schon länger, aber nich in C++, also verzeiht mir, wenns n wirklich dummer Fehler is )


C++:
#include <iostream.h>

int Pot(int Number, int Exponent)
{
    if (Exponent - 1)
        Pot(Number * Number, Exponent - 1);
    return Number;
}


int main()
{
    int Number;
    int    Exponent;

    cout << "Basis : ";
    cin >> Number;
    cout << "Exponent : ";
    cin >> Exponent;
    cout << "Ergebnis : " << Pot(Number, Exponent) << "\n\n";
    return 0;
}


Dieser Post wurde am 14.02.2005 um 22:24 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.02.2005, 22:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


kann so nicht funktionieren wie du es versuchest...
zum einen ist ein denkfehler drin... du musst beim rekursiven aufruf Number*Pot(number,Exponent-1) aufrufen und zum anderen wird beim aufruf der funktion mit der kopie des übergebenen numberwertes gearbeitet und nicht mit der bezüglich main toplevel variable Number...

probier mal so

C++:
int Pot(int Number,int Exponent){return Exponent?Number*Pot(Number,--Exponent):1;}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: