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 tek tek öğ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 öğeyi sistematik biçimde nasıl işleyeceğinizi öğrenelim. Bu yaklaşım, her öğ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, döngü koşulu i < names.size() vektörün sınırlarını aşmamamızı sağlarken, names[i] geçerli dizini kullanarak her öğeye erişir. Döngü, her adı ayrı bir satıra yazdırır.
Bu desen, veri koleksiyonlarını işlemek için temeldir. Dizin değişkeni i, üzerinde çalıştığın öğe üzerinde hassas kontrol sağlar; bu da her öğenin konumunu bilmen gerektiğinde veya yineleme sırasında öğeleri değiştirmek istediğinde onu kullanışlı kılar.
Döngü tamamlandıktan sonra i değerinin names.size() değerine, bu durumda 3 değerine eşit olduğunu unutma; çünkü döngü, i < names.size() koşulu false olur olmaz durur.
Görev
KolayÜrün adlarından oluşan bir vektör üzerinde yineleme yapmak ve bunları numaralandırılmış liste biçiminde 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
ntam sayısı - Ardından ürün adlarını temsil eden
ndize
Programınız şunları yapmalıdır:
productsadlı birstd::vector<std::string>oluşturunnürün adının her birini vektöre eklemek içinpush_back()kullanın- Vektör üzerinde bir indeks değişkeniyle yineleme yapmak için geleneksel bir for döngüsü kullanın
- Döngü koşulunda
.size()yöntemini kullanın - Her öğeye indeksine göre erişmek için köşeli parantez
[]operatörünü kullanın - Her ürünü, belirtilen biçimde, sıra numarasıyla birlikte yazdırın
Aşağıdaki tam çıktı biçimini kullanın:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...For döngüsü 0 indeksiyle başlamalı, koşul olarak i < products.size() kullanmalı ve her yinelemede i değerini artırmalıdır. Yazdırırken, 1'den başlayan sıra numaralarını görüntülemek için indekse 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);
}
// TODO: Kodunu aşağıya yaz
// Vektör üzerinde gezinmek için geleneksel bir for döngüsü kullan
// ve her ürünü konum numarasıyla yazdır
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 EklemeKendi başına pratik yap: Online C++ derleyicisi