Menu
CoddyTech

Pointer dan Array Dinamis

Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 56 dari 56.

challenge icon

Tantangan

Mudah

Buat program yang menunjukkan pengelolaan memori dinamis dengan membangun sistem penyimpanan dan pemrosesan angka yang fleksibel. Tantangan ini akan menguji pemahamanmu tentang array dinamis, alokasi memori, manipulasi array, dan pembersihan memori yang tepat.

Input berikut akan diberikan:

  • Bilangan bulat size yang mewakili jumlah bilangan bulat yang akan disimpan
  • Kemudian size bilangan bulat yang mewakili angka-angka yang akan disimpan dalam array dinamis

Programmu harus:

  1. Membaca ukuran dari input
  2. Mengalokasikan array bilangan bulat secara dinamis menggunakan new[] dengan ukuran yang ditentukan
  3. Membaca bilangan bulat dari input dan menyimpannya dalam array yang dialokasikan secara dinamis
  4. Menghitung jumlah semua angka dalam array
  5. Menemukan nilai maksimum dalam array
  6. Mencetak hasil dalam format yang ditentukan
  7. Membatalkan alokasi memori dengan benar menggunakan delete[]

Gunakan format output persis berikut:

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

Ingat bahwa alokasi memori dinamis memungkinkanmu membuat array dengan ukuran yang ditentukan saat program berjalan berdasarkan input pengguna. Gunakan new int[size] untuk mengalokasikan array dan akses elemen menggunakan notasi array array[index]. Setelah selesai menggunakan array, kamu harus memanggil delete[] array untuk membebaskan memori yang dialokasikan dan mencegah kebocoran memori. Array berada di heap dan akan tetap ada sampai kamu membatalkan alokasinya secara eksplisit.

Coba sendiri

#include <iostream>
using namespace std;

int main() {
    // Baca ukuran array
    int size;
    cin >> size;
    
    // TODO: Tulis kodemu di sini
    // 1. Alokasikan array secara dinamis menggunakan new[]
    // 2. Baca bilangan bulat dan simpan dalam array
    // 3. Hitung jumlah semua bilangan
    // 4. Cari nilai maksimum
    // 5. Jangan lupa bebaskan memori menggunakan delete[]
    
    // Tampilkan hasilnya (ganti dengan variabel yang sebenarnya)
    cout << "Array size: " << size << endl;
    cout << "Sum: " << /* variabel jumlah */ << endl;
    cout << "Maximum: " << /* variabel maksimum */ << endl;
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C++ online