Menu
CoddyTech

Menggunakan seq_along()

Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 64 dari 78.

Terkadang kamu membutuhkan nilai elemen dan posisinya di dalam vector. Meskipun melakukan iterasi langsung pada elemen terlihat rapi, cara ini tidak memberimu akses ke indeks. Fungsi seq_along() mengatasi hal ini dengan menghasilkan urutan indeks untuk vector apa pun.

Fungsi seq_along() mengembalikan urutan dari 1 hingga panjang vektor:

fruits <- c("apple", "banana", "cherry")
print(seq_along(fruits))

Keluaran:

[1] 1 2 3

Dengan melakukan perulangan pada indeks-indeks ini, kamu dapat mengakses posisi dan nilainya:

fruits <- c("apple", "banana", "cherry")
for (i in seq_along(fruits)) {
  cat(i, ":", fruits[i], "\n")
}

Output:

1 : apple 
2 : banana 
3 : cherry

Pendekatan ini sangat berguna saat kamu perlu mengubah elemen pada posisi tertentu atau membandingkan elemen dengan tetangganya. Menggunakan seq_along() lebih aman daripada 1:length(vec) karena menangani vektor kosong dengan benar, menghasilkan urutan kosong alih-alih 1:0.

challenge icon

Tantangan

Mudah

Kamu akan menerima satu baris input yang berisi angka-angka dipisahkan koma (misalnya, 10,20,30,40,50).

Gunakan seq_along() untuk melakukan iterasi pada vektor dengan indeks:

  1. Buat vektor dari input yang dipisahkan koma
  2. Lakukan perulangan pada vektor menggunakan seq_along() untuk mendapatkan indeks dan nilai
  3. Untuk setiap elemen, cetak indeks, nilai, dan jumlah kumulatif hingga posisi tersebut (jumlah semua elemen dari posisi 1 hingga posisi saat ini)

Gunakan cat() dengan format: Position X: VALUE (Running total: TOTAL) diikuti baris baru.

Misalnya, jika inputnya adalah:

5,10,15,20

Outputnya seharusnya:

Position 1: 5 (Running total: 5)
Position 2: 10 (Running total: 15)
Position 3: 15 (Running total: 30)
Position 4: 20 (Running total: 50)

Penjelasan: Pada posisi 1, nilainya adalah 5 dan jumlah berjalannya adalah 5. Pada posisi 2, nilainya adalah 10 dan jumlah berjalannya adalah 5+10=15. Pada posisi 3, nilainya adalah 15 dan jumlah berjalannya adalah 5+10+15=30, dan seterusnya.

Petunjuk: Gunakan sum(vector[1:i]) untuk menghitung jumlah kumulatif hingga posisi i.

Coba sendiri

# Baca input
con <- file("stdin", "r")
input_line <- suppressWarnings(readLines(con, n = 1))
close(con)

# Ubah string yang dipisahkan koma menjadi vektor numerik
numbers <- as.numeric(strsplit(input_line, ",")[[1]])

# TODO: Tulis kodemu di bawah ini
# Gunakan seq_along() untuk melakukan perulangan pada vektor
# Untuk setiap posisi, tampilkan indeks, nilai, dan total sementara
# Gunakan cat() dengan format: Position X: VALUE (Running total: TOTAL)\n
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online