Menu
Coddy logo textTech

Wskaźnik i tablica dynamiczna

Część sekcji Logika i przepływ programu ścieżki C++ w Coddy. Lekcja 56 z 56.

challenge icon

Wyzwanie

Łatwy

Utwórz program demonstrujący dynamiczne zarządzanie pamięcią poprzez stworzenie elastycznego systemu przechowywania i przetwarzania liczb. To wyzwanie sprawdzi Twoje zrozumienie tablic dynamicznych, alokacji pamięci, manipulowania tablicami i prawidłowego zwalniania pamięci.

Podane zostaną następujące dane wejściowe:

  • Liczba całkowita size określająca liczbę liczb całkowitych do przechowania
  • Następnie size liczb całkowitych, które mają zostać zapisane w tablicy dynamicznej

Twój program powinien:

  1. Odczytać rozmiar z danych wejściowych
  2. Dynamicznie zaalokować tablicę liczb całkowitych o podanym rozmiarze, używając new[]
  3. Odczytać liczby całkowite z danych wejściowych i zapisać je w dynamicznie zaalokowanej tablicy
  4. Obliczyć sumę wszystkich liczb w tablicy
  5. Znajdź największą wartość w tablicy
  6. Wyświetlić wyniki w określonym formacie
  7. Prawidłowo zwolnić pamięć, używając delete[]

Użyj następującego dokładnego formatu wyjściowego:

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

Pamiętaj, że dynamiczna alokacja pamięci pozwala tworzyć tablice, których rozmiar jest określany w czasie działania programu na podstawie danych wprowadzonych przez użytkownika. Użyj new int[size], aby zaalokować tablicę, i uzyskuj dostęp do elementów za pomocą notacji tablicowej array[index]. Gdy skończysz korzystać z tablicy, musisz wywołać delete[] array, aby zwolnić zaalokowaną pamięć i zapobiec wyciekom pamięci. Tablica znajduje się na stercie i będzie istnieć, dopóki jawnie jej nie zwolnisz.

Spróbuj swoich sił

#include <iostream>
using namespace std;

int main() {
    // Wczytaj rozmiar tablicy
    int size;
    cin >> size;
    
    // TODO: Napisz tutaj swój kod
    // 1. Dynamicznie przydziel pamięć na tablicę za pomocą new[]
    // 2. Wczytaj liczby całkowite i zapisz je w tablicy
    // 3. Oblicz sumę wszystkich liczb
    // 4. Znajdź największą wartość
    // 5. Nie zapomnij zwolnić pamięci za pomocą delete[]
    
    // Wyświetl wyniki (zastąp rzeczywistymi zmiennymi)
    cout << "Array size: " << size << endl;
    cout << "Sum: " << /* zmienna sum */ << endl;
    cout << "Maximum: " << /* zmienna max */ << endl;
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator C++ online