Länge eines int arrays bestimmen ?



  • sorry 🙂

    int * x;
    *x={3,4,5,7};
    


  • blurry333 schrieb:

    int * x;
    *x={3,4,5,7};
    

    😮 ...
    Logisch, dass das nicht geht.

    int array[5] = { 0, 1, 2, 3, 4 };
    int *parray = array;
    parray[2] = 7;
    

    Oder

    int *parray = new int[5];
    parray[2] = 6;
    


  • blurry333 schrieb:

    was ist daran falsch ?

    int * x;
    *x={3,4,5,7};
    

    So ziemlich alles. int* ist nicht gleichzusetzen mit "Array". Nein nein nein. Dir fehlen die Konzepte zu Zeigern und dynamischer Speicherverwaltung. Entweder schnappst Du Dir mal ein gutes Lehrbuch zu C++ oder Du wechselst zu einer anderen Sprache, wie zB Python.



  • krümelkacker schrieb:

    oder Du wechselst zu einer anderen Sprache, wie zB Python.

    Wegen? Und warum gerade Python? Sinnlos diese Aussage, tut mir Leid.



  • FreakY<3Cpp schrieb:

    krümelkacker schrieb:

    oder Du wechselst zu einer anderen Sprache, wie zB Python.

    Wegen? Und warum gerade Python? Sinnlos diese Aussage, tut mir Leid.

    🙄
    Nur weil Du nicht auf Anhieb verstanden hast, warum ich das gesagt habe, ist es nicht "sinnlos". Erstens war "Python" nur ein Beispiel. Zweitens war es ein Beispiel für eine Sprache, die nutzbar ist, ohne Zeiger und dynamische Speicherverwaltung verstanden zu haben. Drittens ist es ein Beispiel für eine Sprache, in der man relativ weit durch "Rumprobieren" kommt -- etwas, was in C++ viel weniger Erfolg verspricht. Deswegen der Rat, entweder ein Lehrbuch zu besorgen (als 100fach bessere Alternative zu Rumprobieren) oder sich nach einer anderen Sprache umzugucken. Klar soweit?



  • > Drittens ist es ein Beispiel für eine Sprache, in der man relativ weit durch "Rumprobieren" kommt -- etwas, was in C++ viel weniger Erfolg verspricht.

    Hast du C++ durch Buch-Pauken gelernt? Ich nicht.



  • Ad aCTa schrieb:

    > Drittens ist es ein Beispiel für eine Sprache, in der man relativ weit durch "Rumprobieren" kommt -- etwas, was in C++ viel weniger Erfolg verspricht.

    Hast du C++ durch Buch-Pauken gelernt? Ich nicht.

    Was ist'n das hier für 'ne Diskussion? Hältst Du es nicht für sinnvoll, jemandem, der Code wie diesen hier

    int * i;
    *i = {1,2,3};
    

    schreibt, ans Herz zu legen, die Grundlagen in einem Buch nachzulesen? Ihr geht mir echt grad auf'n Keks, Leute. Ich habe nie behauptet, dass das Lesen eines Lehrbuchs ausreichend ist. Ich halte es aber für notwendig im Falle von C++.


  • Administrator

    Ad aCTa schrieb:

    Hast du C++ durch Buch-Pauken gelernt? Ich nicht.

    Merkt man ...

    ... *SCNR* 😃 😃 😉

    Ich will mir natürlich kein Urteil über deine Fähigkeiten erlauben. Nur so am Rande, im Thread Matrix hat dein erstes Programm undefiniertes Verhalten ausgelöst und das zweite war auch nicht wirklich der Weisheit letzter Schluss ... tut mir leid, aber konnte wirklich nicht widerstehen 😃

    Bitte nicht zu ernst nehmen 😉

    @krümelkacker,
    Ich würde in jeder Sprache jemandem empfehlen die Grundlagen zu büffeln und das am Besten mit einem Buch oder ähnlichem. Daher finde ich diese eine Aussage auch etwas ... seltsam. Ich verstehe den Sinn dieser Aussage nicht. Wenn du diesen letzten Satz weggelassen hättest, wäre alles in Ordnung 🙂

    Grüssli



  • Hey Leute last doch diese Diskussion. Ich bin ehrlich gesagt froh dass ihr mir helft. Das ist das entscheidende.

    Noch was anderes.

    Es scheint ja echt ein problem zu sein , die länge eines int Arrays zu ermitteln. Beim insertion sort z.B. muss man die Länge des arrays als Parameter übergeben. Anders ist es wohl nicht möglich oder ?


  • Administrator

    blurry333 schrieb:

    Beim insertion sort z.B. muss man die Länge des arrays als Parameter übergeben. Anders ist es wohl nicht möglich oder ?

    Korrekt. Oder man verwendet eben entsprechende Container. Oder man übergibt Iteratoren.

    Grüssli



  • Dravere schrieb:

    @Nexus,
    Dir ist ein kleiner Fehler unterlaufen 🙂

    Danke, ist korrigiert.

    blurry333 schrieb:

    Es scheint ja echt ein problem zu sein , die länge eines int Arrays zu ermitteln. Beim insertion sort z.B. muss man die Länge des arrays als Parameter übergeben. Anders ist es wohl nicht möglich oder ?

    Das liegt daran, dass Arrays mühsam und unpraktisch sind. Ich verwende zum Beispiel nie Arrays, wenn ich nicht muss (und genau genommen muss man nie).

    Alternativen sind der Wrapper std::tr1::array oder gleich die STL-Container. Hier eine Einführung.


Anmelden zum Antworten