Pointer dan Array Dinamis
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 56 dari 56.
Tantangan
MudahBuat 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
sizeyang mewakili jumlah bilangan bulat yang akan disimpan - Kemudian
sizebilangan bulat yang mewakili angka-angka yang akan disimpan dalam array dinamis
Programmu harus:
- Membaca ukuran dari input
- Mengalokasikan array bilangan bulat secara dinamis menggunakan
new[]dengan ukuran yang ditentukan - Membaca bilangan bulat dari input dan menyimpannya dalam array yang dialokasikan secara dinamis
- Menghitung jumlah semua angka dalam array
- Menemukan nilai maksimum dalam array
- Mencetak hasil dalam format yang ditentukan
- 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
1Pointer dan Memori
Apa Itu Pointer?Operator Address-OfOperator DereferencePointer NullPointer dan ArrayMemori Dinamis dengan 'new'Membebaskan Memori dengan 'delete'Rangkuman: Latihan Pointer2Vektor (array Dinamis)
Memperkenalkan std::vectorMembuat VektorMenambahkan ElemenMengakses ElemenUkuran VektorIterasi dengan for loopFor loop Berbasis RentangMenghapus ElemenRangkuman: Operasi VektorLatihan sendiri: Compiler C++ online