Neuling braucht Hilfe bei dynamischer Allokation
-
Guten Tag zusammen,
ich lerne jetzt seit ca. 8 Wochen C++ und leider fällt es mir nicht so leicht, wie ich dachte.
Hier mein Problem:
Gegeben ist eine Matrix mit dem Anfangswert
Matrix = (double*) malloc (5 * sizeof(double));
diese Matrix ist für 5 Koeffizienten einer math. Funktion
sobald aber mehr als 5 Koeffizienten eingegeben werden soll der Platz um weiter 5 Koeffizienten erweitert werden, usw.
Dies soll mit der Anweisung realloc getan werden.
Nun zu meinem Problem, wenn ich z.B. 20 Koeffizienten eingeben möchte (unsigned short) soll die Matrix um den Faktor 4 erweitert werdenrealloc (Matrix, 5*4);
Wie sieht die Schleife aus, die einen unsigned short Wert z.B. 21 immer durch 5 Teilt und dabei 4 Schleifendurchläufe zählt?
Bitte enschuldigt meine Formulierung, aber ich betrete im Bereich Programmieren völliges Neuland.
Vielen Dank
-
Hi, 'malloc' = C. In C++ verwendet man 'new'. Allerdings ließe sich Dein Problem evtl. besser über die Verwendung existierender Datenstrukturen lösen, speziell den Vektor.
Schau Dir mal diesen Artikel in der C++-FAQ an:
http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.19
Oder, noch besser, lies die gesamte Artikelserie dazu:
http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.