Hi Leute ich möchte mir ne Funktion schreiben, die Arrays beliebiger Dimension von beliebigem Datentyp mit Hilfe von rand() beschreibt. Brauche diese Funktion oft, und dachte ich schreib sie jetzt einmal, für immer. Ich find allerdings nicht mehr, wie mann den Funktionsheader deklariert. Kann mir da mal einer helfen? danke
das wird wohl schwer werden, woher soll denn die funktion wissen wie der Datentyp ist den er beschreiben soll? Eventuell geht sotewas mit Templates aber als normale funktion geht das nicht.
ich hab da was im Hinterkopf von sog. "geschlechtslosen" Zeigern... wie das war weis ich aber nicht mehr...
klar kannst du einfach void* übergeben, aber was hilft dir das? du willst es ja beschreiben und da ist es nun mal ein unterschied ob es ein char oder ein long ist.
und wie ist das mit arrays beliebiger dimension? wie schaut da der prototyp aus? oder geht das auch nicht?
doch das geht, du musst die größe aber auch mitgeben void fill(int*, size_t size );
würde das funktionieren: void random_array(void *array_start, int array_length int *array_dimension, int datatype, int mode) array_start: anfangsaddresse des arrays array_length: länge des allozierten dahinter allozierten Blockes array_dimension: z.b array_dimension[5] = {{5},{2},{1}, {0}} bedeuted das array soll wie folgt ausgelegt werden: array[5][2][1] datatype: 1 = int, 2 = long, 3=char,... mode: für aufwärts, abwärts,... sieht jemand darin etwas ungünsitges?
Wenn es eh mit rand() zufällig beschrieben werden soll, dann ist das Layout (und auch die Richtung) doch eigentlich egal, will sagen: Ob es ein array[9] ist oder ein array[3][3], sollte dann keinen Unterschied mehr machen solange der Datentyp der gleiche ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.