Menu
CoddyTech

Penyisipan pada array Dinamis

Pelajaran 14 dari 14 dalam kursus Pointer C++ di Coddy.

Terakhir, penting untuk mengetahui cara menambahkan elemen ke array secara dinamis. Jika kamu tidak bisa menggunakan vector dan array-mu sudah penuh, kamu perlu mencari cara untuk mengubah panjang array secara dinamis dan menambahkan elemen yang diinginkan.

Berikut contoh kecil tentang cara mengubah array secara dinamis agar berfungsi seperti vector

  • Kita memiliki array yang dialokasikan secara dinamis sebagai awal
  • Kita membuat array baru yang dialokasikan secara dinamis dengan panjang + 1
  • Kita menyalin semua elemen dari array lama ke array baru
  • Pada indeks terakhir (+1), kita menambahkan elemen yang diinginkan
  • Kita menghapus array lama
  • Lalu kita membuat pointer dari array lama yang sudah dihapus menunjuk ke array baru yang telah dimodifikasi
  • Terakhir, di akhir program, kita menghapus pointer array sekali lagi
int *array = new int[5]; // array awal
for(int i = 0; i < 5; i++)
    array[i] = i + 1;
    
int *newarray = new int[6]; // array baru dengan panjang bertambah 1

for(int i = 0; i < 5; i++)
    newarray[i] = array[i]; // Salin semua elemennya
newarray[5] = 6; // Tambahkan elemen terakhir

delete[] array; // Bebaskan memori array lama
array = newarray; // Atur agar menunjuk ke array baru

for(int i = 0; i < 5; i++)
    cout << array[i] << " ";
    
delete[] array; // Bebaskan memori array baru
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

challenge icon

Tantangan

Mudah

Dengan array yang dialokasikan secara dinamis, jangan ubah kode bawaan. Tambahkan kode di bagian tengah untuk memasukkan 3 angka ke bagian akhir array seperti contoh di pelajaran.

JANGAN ubah kode bawaan

Coba sendiri

#include <iostream>

using namespace std;

int main() {

    int *numbers = new int[5];
    for(int i = 0; i < 5; i++)
        numbers[i] = i + 1;
    // JANGAN UBAH KODE DI ATAS


    // Tulis kodemu di sini

    // Masukkan 3 bilangan bulat

    // Tambahkan ketiganya secara dinamis ke array "numbers"


    // JANGAN UBAH KODE DI BAWAH
    for(int i = 0; i < 8; i++)
        cout << numbers[i] << " ";
    delete[] numbers;

    return 0;
}

Semua pelajaran di Pointer C++

Latihan sendiri: Compiler C++ online