Erstellen



  • Hey leute wollte bisschen mit arrays herum probieren und bin auf probleme gestossen:

    Wie erstelle ich den ein Array ?

    Z.b a, ,b ,c ?



  • Hast du die Seiten über Arrays in deinem Buch schon zum Heizen eingesetzt?



  • Kannst du mir erklären wie man das macht?



  • Array erstellen(tm), ausgeben, transformieren.

    #include <cctype>
    #include <array>
    #include <algorithm>
    #include <iostream>
    
    int main()
    {
    	std::array< char, 3 > chars = { 'a', 'b', 'c' };
    
    	std::copy( std::begin( chars ), std::end( chars ), std::ostream_iterator< char >( std::cout, ", " ) );
    	std::cout << "\b\b  \n";
    
    	std::transform( std::begin( chars ), std::end( chars ), std::begin( chars ), std::toupper );
    
    	std::reverse_copy( std::begin( chars ), std::end( chars ), std::ostream_iterator< char >( std::cout, ", " ) );
    	std::cout << "\b\b  \n";
    }
    


  • Hallo leute wenn ich euch richtig verstanden hab erstelle ich ja so Arrays:

    Das kopieren und so ist für mich im moment ein wenig uninteressant , da ich ja noch Anfänger bin.

    #include <cctype>
    #include <array>
    #include <algorithm>
    #include <iostream>
    
    int main()
    {
        std::array< char, 3 > chars = { 'a', 'b', 'c' };
    
    }
    

    Jetzt wollte ich die Arrays irgendwie sortieren und zwar so:

    Wenn a z.b maximal ein element hat ist es bereits sortiert.

    Müsste ich da mit der if bedingung arbeiten ?

    if( a>= 1 )  {
    
    Was müsste ich aber jetzt für bereits sortiert schreiben?
    Das wäre mnir jetzt als Anfänger unklar.
    
    }
    

    }



  • Sortieren kannst du z.B. mit std::sort. Was genau jetzt deine Frage ist, entzieht sich mir aber. Deine Beschreibung ist etwas wirr. Meinst du, du willst nicht sortieren, wenn das Array 0-1 Elemente hat? Ist unnötig, denke ich, aber du kannst die Anzahl mit std::array::size bekommen.



  • Guck dir das mal an:
    http://www2.informatik.uni-halle.de/lehre/c/c_array.html

    wenn du danach noch fragen hast 😉

    gruß
    coco



  • CocoEi schrieb:

    Guck dir das mal an:
    http://www2.informatik.uni-halle.de/lehre/c/c_array.html

    wenn du danach noch fragen hast 😉

    gruß
    coco

    Da werden rohe C-Arrays behandelt. Das bringt ihm für std::array nicht viel...


  • Mod

    Sortc schrieb:

    Müsste ich da mit der if bedingung arbeiten ?

    Ja, mit if kann man Bedingungen prüfen.

    Was müsste ich aber jetzt für bereits sortiert schreiben?

    Dann brichst du ab. Das macht natürlich nur in Kontext Sinn. Das soll ja wohl ein Mergesort oder ähnliches werden, dafür wird eine rekursive Funktion nötig sein. Dann ist auch klar, was mit "abbrechen" gemeint ist.

    P.S.:
    Falls Hausaufgabe: Du hast noch viel zu lernen. Mergesort ist nicht ganz einfach und du bekommst schon Probleme bevor es losgeht. Wiederhole unbedingt erst einmal die Grundlagen, die du anscheinend im Kurs verpennt hast!

    Falls du wirklich nur sortieren willst: std::sort?



  • _matze schrieb:

    CocoEi schrieb:

    Guck dir das mal an:
    http://www2.informatik.uni-halle.de/lehre/c/c_array.html

    wenn du danach noch fragen hast 😉

    gruß
    coco

    Da werden rohe C-Arrays behandelt. Das bringt ihm für std::array nicht viel...

    solte ja nur eine kleine einstigshilfe sein 😉



  • Ich wollte es in meinem Programm eigentlich so haben, falls a ein Element hat, soll es als bereits sortiert gelten.



  • Sortc schrieb:

    Ich wollte es in meinem Programm eigentlich so haben, falls a ein Element hat, soll es als bereits sortiert gelten.

    Funktioniert std::sort denn nicht für Arrays mit Größe 1 oder frisst es unnötige Ressourcen, die dir in deinem Programm fehlen? Oder anders gefragt: warum möchtest du das? Falls du unbedingt willst: ich hatte ja schon erwähnt, dass du die Anzahl der Elemente mit std::array::size bekommst. Du musst also nur noch eine if-Abfrage basteln, die abhängig von diesem Wert entweder sortiert oder nicht.


Anmelden zum Antworten