Mengakses Elemen
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 12 dari 56.
Sekarang kamu sudah bisa membuat vector dan menambahkan elemen ke dalamnya, kamu perlu tahu cara mengambil elemen tertentu dari vector-mu. C++ menyediakan dua cara utama untuk mengakses elemen satu per satu: operator tanda kurung siku dan method .at().
Operator tanda kurung siku [] bekerja seperti pada array biasa. Kamu menentukan indeks elemen yang ingin kamu akses:
std::vector<int> numbers = {10, 20, 30, 40};
int first = numbers[0]; // Mengambil 10
int third = numbers[2]; // Mengambil 30method .at() menyediakan cara alternatif untuk mengakses elemen dengan satu perbedaan penting, yaitu method ini memeriksa batas:
int first = numbers.at(0); // Mengambil 10
int third = numbers.at(2); // Mengambil 30Perbedaan utamanya adalah keamanan: jika kamu mencoba mengakses indeks yang tidak ada, [] dapat menyebabkan perilaku yang tidak terduga, sedangkan .at() akan melemparkan exception untuk memberi tahu kamu tentang error tersebut. Untuk tujuan pembelajaran, kedua cara ini berfungsi dengan baik, tetapi .at() memberikan perlindungan tambahan agar kamu tidak mengakses posisi yang tidak valid dalam vector.
Tantangan
MudahBuat program yang menunjukkan cara mengakses elemen vector dengan mengambil elemen tertentu dari vector menggunakan operator kurung siku dan method .at().
Input berikut akan diberikan:
- Integer
nyang menunjukkan jumlah elemen dalam vector - Kemudian
ninteger untuk mengisi vector - Integer
index1yang menunjukkan indeks pertama yang akan diakses - Integer
index2yang menunjukkan indeks kedua yang akan diakses
Programmu harus:
- Membuat
std::vector<int>bernamadata - Menggunakan
push_back()untuk menambahkan setiap angka input darinke vector - Mengakses elemen pada
index1menggunakan operator kurung siku[]dan menyimpannya dalam variabel bernamavalue1 - Mengakses elemen pada
index2menggunakan method.at()dan menyimpannya dalam variabel bernamavalue2 - Mencetak nilai yang diakses beserta indeksnya
- Mencetak elemen pertama dan terakhir dari vector menggunakan akses berbasis indeks
Gunakan format output berikut secara persis:
Element at index [index1]: [value1]
Element at index [index2]: [value2]
First element: [first value]
Last element: [last value]Untuk mengakses elemen terakhir, gunakan data.size() - 1 sebagai indeks dengan operator kurung siku.
Coba sendiri
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Baca input
int n;
cin >> n;
vector<int> data;
// Baca n bilangan bulat dan tambahkan ke vector
for (int i = 0; i < n; i++) {
int num;
cin >> num;
data.push_back(num);
}
int index1, index2;
cin >> index1;
cin >> index2;
// TODO: Tulis kodemu di bawah ini
// Akses elemen menggunakan operator [] dan method .at()
// Simpan nilai yang diakses dalam value1 dan value2
// Tampilkan hasilnya sebagai output
cout << "Element at index " << index1 << ": " << value1 << endl;
cout << "Element at index " << index2 << ": " << value2 << endl;
cout << "First element: " << /* akses elemen pertama */ << endl;
cout << "Last element: " << /* akses elemen terakhir menggunakan data.size() - 1 */ << endl;
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Pointer dan Memori
Apa Itu Pointer?Operator Address-OfOperator DereferencePointer NullPointer dan ArrayMemori Dinamis dengan 'new'Membebaskan Memori dengan 'delete'Rangkuman: Latihan Pointer2Vektor (array Dinamis)
Memperkenalkan std::vectorMembuat VektorMenambahkan ElemenMengakses ElemenUkuran VektorIterasi dengan for loopFor loop Berbasis RentangMenghapus ElemenRangkuman: Operasi VektorLatihan sendiri: Compiler C++ online