For Döngüsü ile Yineleme
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 14 / 56.
Artık münferit öğelere nasıl erişeceğinizi ve bir vektörün boyutunu nasıl kontrol edeceğinizi bildiğinize göre, geleneksel bir for döngüsü kullanarak her bir öğeyi sistematik olarak nasıl işleyeceğimizi öğrenelim. Bu yaklaşım, her bir öğeyi sırayla ziyaret etmek için .size() yöntemini dizin tabanlı erişimle birleştirir.
Geleneksel bir for döngüsü, 0'dan başlayan ve vektörün boyutuna ulaşana kadar artan bir dizin değişkeni kullanır:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}Bu örnekte, i < names.size() döngü koşulu vektörün sınırlarının dışına çıkmamamızı sağlarken, names[i] mevcut indeksi kullanarak her bir öğeye erişir. Döngü, her bir ismi ayrı bir satıra yazdıracaktır.
Bu desen, veri koleksiyonlarını işlemek için temeldir. İndeks değişkeni i, hangi öğeyle çalıştığınız üzerinde size hassas bir kontrol sağlar; bu da her bir öğenin konumunu bilmeniz gerektiğinde veya yineleme sırasında öğeleri değiştirmek istediğinizde onu kullanışlı kılar.
Döngü bittikten sonra i'nin names.size() değerine — bu durumda 3 — eşit olduğunu unutmayın; çünkü döngü, i < names.size() koşulu yanlış (false) olduğu anda durur.
Görev
KolayÜrün adlarından oluşan bir vektör üzerinde gezinmek ve bunları numaralandırılmış bir liste formatında görüntülemek için geleneksel bir for döngüsü kullanan bir program oluşturun.
Aşağıdaki girdiler sağlanacaktır:
- Ürün sayısını temsil eden bir tam sayı
n - Ardından ürün adlarını temsil eden
nadet dize (string)
Programınız şunları yapmalıdır:
productsadında birstd::vector<std::string>oluşturunnürün adının her birini vektöre eklemek içinpush_back()kullanın- Vektör üzerinde gezinmek için bir dizin (index) değişkenine sahip geleneksel bir for döngüsü kullanın
- Döngüde, döngü koşulu için
.size()metodunu kullanın - Her bir öğeye dizinle erişmek için köşeli parantez
[]operatörünü kullanın - Her ürünü, belirtilen formatta konum numarasıyla (1'den başlayarak) yazdırın
Aşağıdaki tam çıktı formatını kullanın:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...For döngüsü 0 dizini ile başlamalı, koşul olarak i < products.size() kullanmalı ve her yinelemede i değerini artırmalıdır. Yazdırırken, konum numaralarını 1'den başlayarak görüntülemek için dizine 1 ekleyin.
Kendin dene
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Ürün sayısını oku
int n;
cin >> n;
// Ürün adlarını saklamak için bir vektör oluştur
vector<string> products;
// Ürün adlarını oku ve vektöre ekle
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// YAPILACAK: Kodunuzu aşağıya yazın
// Vektör üzerinde gezinmek için geleneksel bir for döngüsü kullanın
// ve her ürünü konum numarasıyla birlikte yazdırın
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev Ekleme