Menu
Coddy logo textTech

Pointer und dynamische Arrays

Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 56 von 56.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das die dynamische Speicherverwaltung demonstriert, indem es ein flexibles System zur Speicherung und Verarbeitung von Zahlen aufbaut. Diese Herausforderung wird Ihr Verständnis von dynamischen Arrays, Speicherallokation, Array-Manipulation und ordnungsgemäßer Speicherbereinigung testen.

Die folgenden Eingaben werden bereitgestellt:

  • Eine Ganzzahl size, die die Anzahl der zu speichernden Ganzzahlen darstellt
  • Anschließend size Ganzzahlen, die die im dynamischen Array zu speichernden Zahlen darstellen

Ihr Programm sollte:

  1. Die Größe von der Eingabe lesen
  2. Ein Array von Ganzzahlen dynamisch mit new[] in der angegebenen Größe allokieren
  3. Die Ganzzahlen von der Eingabe lesen und im dynamisch allokierten Array speichern
  4. Die Summe aller Zahlen im Array berechnen
  5. Den Maximalwert im Array finden
  6. Die Ergebnisse im angegebenen Format ausgeben
  7. Den Speicher ordnungsgemäß mit delete[] freigeben

Verwenden Sie das folgende exakte Ausgabeformat:

Array size: [size]
Sum: [sum_of_all_numbers]
Maximum: [maximum_value]

Denken Sie daran, dass die dynamische Speicherallokation es Ihnen ermöglicht, Arrays zu erstellen, deren Größe zur Laufzeit basierend auf Benutzereingaben bestimmt wird. Verwenden Sie new int[size], um das Array zu allokieren, und greifen Sie auf die Elemente mit der Array-Notation array[index] zu. Nachdem Sie das Array fertig verwendet haben, müssen Sie delete[] array aufrufen, um den allokierten Speicher freizugeben und Speicherlecks zu vermeiden. Das Array existiert auf dem Heap und bleibt bestehen, bis Sie es explizit freigeben.

Probier es selbst

#include <iostream>
using namespace std;

int main() {
    // Lies die Größe des Arrays ein
    int size;
    cin >> size;
    
    // TODO: Schreibe deinen Code hier
    // 1. Allokiere dynamisch ein Array mit new[]
    // 2. Lies die Ganzzahlen ein und speichere sie im Array
    // 3. Berechne die Summe aller Zahlen
    // 4. Finde den Maximalwert
    // 5. Vergiss nicht, den Speicher mit delete[] freizugeben
    
    // Gib die Ergebnisse aus (durch tatsächliche Variablen ersetzen)
    cout << "Array size: " << size << endl;
    cout << "Sum: " << /* Summenvariable */ << endl;
    cout << "Maximum: " << /* Maximalvariable */ << endl;
    
    return 0;
}

Alle Lektionen in Logik & Ablauf