Iterasi dengan for loop
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 14 dari 56.
Sekarang setelah kamu tahu cara mengakses elemen satu per satu dan memeriksa ukuran vector, mari pelajari cara memproses setiap elemen secara sistematis menggunakan for loop tradisional. Pendekatan ini menggabungkan method .size() dengan akses berbasis indeks untuk mengunjungi setiap elemen secara berurutan.
Perulangan for tradisional menggunakan variabel indeks yang dimulai dari 0 dan bertambah hingga mencapai ukuran vector:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}Dalam contoh ini, kondisi perulangan i < names.size() memastikan kita tidak melewati batas vector, sementara names[i] mengakses setiap elemen menggunakan indeks saat ini. Perulangan akan mencetak setiap nama pada baris terpisah.
Pola ini merupakan dasar untuk memproses kumpulan data. Variabel indeks i memberimu kendali tepat atas elemen yang sedang kamu gunakan, sehingga pola ini berguna saat kamu perlu mengetahui posisi setiap elemen atau ingin mengubah elemen selama perulangan.
Perhatikan bahwa setelah perulangan selesai, i sama dengan names.size(), dalam kasus ini, 3, karena perulangan berhenti segera setelah kondisi i < names.size() menjadi salah.
Tantangan
MudahBuat program yang menggunakan for loop tradisional untuk menelusuri vector nama produk dan menampilkannya dalam format daftar bernomor.
Input berikut akan diberikan:
- Integer
nyang mewakili jumlah produk - Kemudian
nstring yang mewakili nama produk
Programmu harus:
- Membuat
std::vector<std::string>bernamaproducts - Menggunakan
push_back()untuk menambahkan setiap nama darinproduk ke vector - Menggunakan for loop tradisional dengan variabel indeks untuk menelusuri vector
- Di dalam loop, menggunakan method
.size()sebagai kondisi loop - Menggunakan operator kurung siku
[]untuk mengakses setiap elemen berdasarkan indeks - Mencetak setiap produk dengan nomor posisinya (dimulai dari 1) dalam format yang ditentukan
Gunakan format output persis seperti berikut:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...For loop harus dimulai dengan indeks 0, menggunakan i < products.size() sebagai kondisi, dan menaikkan nilai i pada setiap iterasi. Saat mencetak, tambahkan 1 ke indeks untuk menampilkan nomor posisi yang dimulai dari 1.
Coba sendiri
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Baca jumlah produk
int n;
cin >> n;
// Buat vector untuk menyimpan nama produk
vector<string> products;
// Baca nama produk dan tambahkan ke vector
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// TODO: Tulis kodemu di bawah ini
// Gunakan for loop biasa untuk menelusuri vector
// dan cetak setiap produk beserta nomor posisinya
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