Ringkasan: array Dinamis
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 37 dari 63.
Tantangan
MudahTulis program C yang membuat array dinamis berdasarkan input pengguna, memproses data, dan menunjukkan pengelolaan memori yang tepat. Programmu harus:
- Membaca bilangan bulat
ndari pengguna yang menunjukkan jumlah elemen yang akan disimpan - Menggunakan
malloc()dengansizeof()untuk mengalokasikan memori secara dinamis untuk array berisinbilangan bulat - Memeriksa apakah alokasi memori berhasil. Jika gagal, mencetak
Memory allocation failed!dan menghentikan program - Jika alokasi berhasil, mencetak
Array of size [n] created successfully! - Membaca
nnilai bilangan bulat dari pengguna dan menyimpannya dalam array yang dialokasikan - Menghitung dan mencetak jumlah semua elemen dengan format:
Sum: [value] - Mencari dan mencetak nilai minimum dengan format:
Minimum: [value] - Menghitung jumlah elemen yang lebih besar dari rata-rata dan mencetaknya dengan format:
Elements above average: [count] - Mencetak total memori yang digunakan dalam byte dengan format:
Memory used: [bytes] bytes - Menggunakan
free()untuk membebaskan memori - 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 20Outputmu 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
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online