Menu
CoddyTech

Rangkuman: Menelusuri array dengan pointer

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

challenge icon

Tantangan

Mudah

Tulis program C yang mengimplementasikan fungsi untuk menghitung jumlah semua elemen dalam array bilangan bulat menggunakan aritmetika pointer dan kesetaraan array-pointer. Programmu harus:

  1. Membuat fungsi bernama calculateSum yang menerima dua parameter:
    • Pointer ke bilangan bulat (int *arr) yang mewakili array
    • Bilangan bulat (size) yang mewakili jumlah elemen dalam array
  2. Di dalam fungsi calculateSum:
    • Inisialisasi variabel sum dengan nilai 0
    • Buat variabel pointer ptr dan atur agar menunjuk ke awal array
    • Gunakan perulangan untuk menelusuri array dengan aritmetika pointer
    • Pada setiap iterasi, tambahkan nilai yang ditunjuk oleh ptr ke sum
    • Tingkatkan pointer untuk berpindah ke elemen berikutnya
    • Kembalikan jumlah yang dihitung
  3. Di dalam fungsi main:
    • Baca bilangan bulat n yang mewakili ukuran array
    • Deklarasikan array bilangan bulat dengan ukuran n
    • Baca n bilangan bulat dari input untuk mengisi array
    • Panggil fungsi calculateSum dengan array dan ukurannya
    • Cetak hasil dengan format: "Sum: [value]"

Fungsi harus menggunakan aritmetika pointer untuk menelusuri array. Jangan gunakan notasi indeks array seperti arr[i]. Sebagai gantinya, gunakan operasi dereferensi dan peningkatan pointer untuk mengakses elemen array.

Contohnya, jika inputnya adalah:

5
10 20 30 40 50

Outputmu harus:

Sum: 150

Tantangan ini menguji pemahamanmu tentang cara fungsi menerima array sebagai parameter pointer, cara menggunakan aritmetika pointer untuk menelusuri array secara efisien, dan cara nama array secara otomatis dikonversi menjadi pointer saat diteruskan ke fungsi.

Coba sendiri

#include <stdio.h>

// TODO: Tulis fungsi calculateSum-mu di sini

int main() {
    int n;
    scanf("%d", &n);
    
    int arr[n];
    
    // Baca elemen array
    for(int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    // TODO: Panggil fungsi calculateSum dan simpan hasilnya
    
    // TODO: Cetak hasilnya dengan format "Sum: [value]"
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online