Zahlen mit class sortieren



  • Hallo ich versuche gerade mir eine eigene Klasse zum sortieren zu schreiben.

    Aber mein problem ist das immer nur die 2 ausgeben wird nicht die 4.

    #include <iostream>
    using namespace std;
    
    class sort
    {
    public:
            int gerade_zahlen(int g_zahlen[] );
    
    };
    
            int sort :: gerade_zahlen( int g_zahlen[] )
            {
                    for (int i=0;i<3;i++)
                    {
                            if (g_zahlen[i]%2 == 0)
                            {
                            return ( g_zahlen[i] );
                            }
                    }
    
            return 0;
            }
    
    int main()
    {
    
    sort ger,ung;
    
    int g_zahlen[] = {1,2,4};
    
    cout<<ger . gerade_zahlen ( g_zahlen );
    
    system("PAUSE");
    }
    

    Mit cout funktioniert es ..

    #include <iostream>
    using namespace std;
    
    class sort
    {
    public:
            int gerade_zahlen(int g_zahlen[] );
    
    };
    
            int sort :: gerade_zahlen( int g_zahlen[] )
            {
                    for (int i=0;i<3;i++)
                    {
                            if (g_zahlen[i]%2 == 0)
                            {
                            cout<< g_zahlen[i] ;
                            }
                    }
    
            return 0;
            }
    
    int main()
    {
    
    sort ger,ung;
    
    int g_zahlen[] = {1,2,4};
    
    ger . gerade_zahlen ( g_zahlen );
    
    system("PAUSE");
    }
    //---------------------------------------------------------------------------
    

    Was mach ich da falsch ?



  • Return bricht natürlich implizit die Schleife ab...



  • das return in deiner Funktion "Gerade Zahlen" bricht bei der ersten Zahl durch return die schleife UND die Funktion ab.

    D.h. er liefert nur die erste gerade Zahl zurück.



  • Naja... im Grund... hm 🙄


Anmelden zum Antworten