ich will eine funktion schreiben die ein array übergeben bekommt und ein array aus indizes. Das array soll dann so gestaucht werden und zwar so: Nur noch die werte sollen da sein die unter den indizes des zweiten array da sind.
Jetzt weiß ich nicht wie man es für gewöhnlich macht um ein array zurückzugeben was ja nicht geht. Ich weiß nicht wie ich das Realisieren könnte weil ich eben kein Array zurückgeben kann.
ACHTUNG: Es müssen statische arrays sein - dürfen also keine vektoren oder heap-objekte sein.
Naja ein Array ist nix anderes als ein Zeiger auf das erste Element, des Datenfeldes. D.h. du gibst einen Zeiger deines Typs als returntype deiner funktion und machst dann return "dein array". Allerdings sei gewarnt die größe des Feldes ist dabei eben unbekannt. Und warum unbedingt statischer Speicher ?
und die C++ Methode ist das array einfach per referenz übergeben, klappt natürlich nur wenn die größe des Arrays immer bekannt ist. -- class God : public ChuckNorris { };
Danke für eure Hilfe, ich habe immer noch ein problem, wenn ich z.B eine funktion brauche die mir aus einem array alle Nullen rauslöscht...da scheiterst bei mir schon. Also um die Rückgabewerte und so weiter, denn wenn ich ein array übergebe was z.B auch auf dem Heap liegt dann müsste ich doch 2-mal über das array laufen: 1) Um die anzahl der endgültigen Länge des neuen arrays festzulegen (also alle nicht Nuller) 2) UNd dann erst das array alloziieren und erst danach beim zweiten lauf alle elemente des einen array ins andere kopieren.
Oder wie soll ich sonst von vornherein wissen wieviel Nuller da sind?