Menu
CoddyTech

Ringkasan: array Dinamis

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 37 dari 63.

challenge icon

Tantangan

Mudah

Tulis program C yang membuat array dinamis berdasarkan input pengguna, memproses data, dan menunjukkan pengelolaan memori yang tepat. Programmu harus:

  1. Membaca bilangan bulat n dari pengguna yang menunjukkan jumlah elemen yang akan disimpan
  2. Menggunakan malloc() dengan sizeof() untuk mengalokasikan memori secara dinamis untuk array berisi n bilangan bulat
  3. Memeriksa apakah alokasi memori berhasil. Jika gagal, mencetak Memory allocation failed! dan menghentikan program
  4. Jika alokasi berhasil, mencetak Array of size [n] created successfully!
  5. Membaca n nilai bilangan bulat dari pengguna dan menyimpannya dalam array yang dialokasikan
  6. Menghitung dan mencetak jumlah semua elemen dengan format: Sum: [value]
  7. Mencari dan mencetak nilai minimum dengan format: Minimum: [value]
  8. Menghitung jumlah elemen yang lebih besar dari rata-rata dan mencetaknya dengan format: Elements above average: [count]
  9. Mencetak total memori yang digunakan dalam byte dengan format: Memory used: [bytes] bytes
  10. Menggunakan free() untuk membebaskan memori
  11. Mencetak Memory successfully freed! untuk memastikan pembersihan dilakukan dengan benar

Ingat untuk menyertakan header <stdlib.h> agar dapat menggunakan malloc() dan free(). Tantangan ini menguji pemahamanmu secara menyeluruh tentang pengelolaan memori dinamis, mulai dari alokasi hingga penggunaan dan pembersihan yang tepat.

Contohnya, jika inputnya adalah:

5
12 8 15 3 20

Outputmu seharusnya:

Array of size 5 created successfully!
Sum: 58
Minimum: 3
Elements above average: 3
Memory used: 20 bytes
Memory successfully freed!

Tantangan menyeluruh ini menunjukkan siklus lengkap pengelolaan memori dinamis sambil melakukan operasi pemrosesan data yang bermakna pada array yang dialokasikan.

Coba sendiri

#include <stdio.h>
#include <stdlib.h>

int main() {
    // Baca jumlah elemen
    int n;
    scanf("%d", &n);
    
    // TODO: Tulis kodemu di bawah ini
    // 1. Alokasikan memori untuk n bilangan bulat menggunakan malloc()
    // 2. Periksa apakah alokasi berhasil
    // 3. Baca n bilangan bulat ke dalam array
    // 4. Hitung jumlah, cari nilai minimum, dan hitung elemen di atas rata-rata
    // 5. Tampilkan hasil dan bebaskan memori
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online