Menu
CoddyTech

Rangkuman: Menemukan Elemen

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 41 dari 66.

challenge icon

Tantangan

Mudah

Kamu akan menerima dua input. Input pertama adalah daftar angka yang dipisahkan dengan koma (misalnya, 10,20,30,40), dan input kedua adalah angka target yang perlu dicari. Parse angka-angka yang dipisahkan dengan koma menjadi vector, lalu cari angka target. Gunakan .iter().position() untuk menemukan indeks angka target. Fungsi ini mengembalikan Option<usize>. Tangani kedua kasus menggunakan match dan cetak pesan yang sesuai.

Persyaratan:

  • Baca input pertama (angka-angka yang dipisahkan dengan koma) dan hapus whitespace di sekitarnya
  • Pisahkan input berdasarkan koma dan parse setiap bagian menjadi i32 untuk membuat vector
  • Baca input kedua (angka target) dan hapus whitespace di sekitarnya
  • Parse angka target menjadi i32
  • Gunakan .iter().position(|&x| x == target) untuk mencari target di dalam vector
  • Gunakan ekspresi match untuk menangani Option yang dikembalikan oleh .position()
  • Pada arm Some(index), cetak: Found at index [index]
  • Pada arm None, cetak: Not found

Input:

  • Baris pertama: Angka-angka yang dipisahkan dengan koma (misalnya, 10,20,30,40)
  • Baris kedua: Angka target yang perlu dicari (misalnya, 30)

Output:

  • Jika target ditemukan: Found at index [index]
  • Jika target tidak ditemukan: Not found

Coba sendiri

use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Baca angka-angka yang dipisahkan koma
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Baca angka yang dicari
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Ubah angka-angka yang dipisahkan koma menjadi vektor
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // Ubah angka yang dicari menjadi nilai numerik
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: Tulis kodemu di bawah ini
    // Gunakan .iter().position() untuk menemukan angka yang dicari dan match untuk menangani hasilnya
    
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online