CodeBlanks Logo Icon CodeBlanks

Özet - std::vector

push_back, size ve range-based for'u birleştirerek bir sınıf listesi yazarsın.

Özet: std::vector

Bu grupta std::vector'ı öğrendin: dinamik boyutlu dizi kapsayıcısı. #include <vector> ile başlar, std::vector<int> nums; ile tanımlanır, push_back ile büyür.

Üç temel erişim yolu gördün: size() sayar, at(i) sınırları denetleyerek erişir, [] hızlı ama denetimsiz erişir. Son olarak range-based for ile tüm elemanları kısa yoldan dolaştırdın. Bunlar C++'ta liste biçiminde veriyle çalışmanın temelidir.

Uygulama Notları topla (range-for)

std::vector<int> grades = {85, 90, 78}; tanımla. Range-based for ile notları topla, ortalamayı std::cout ile yazdır (tamsayı bölme).

Başlangıç kodu

main.cpp
#include <iostream>
#include <vector>

int main() {
    std::vector<int> grades = {85, 90, 78};
    int sum = 0;
    // range-based for ile topla ve ortalama yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <vector>

int main() {
    std::vector<int> grades = {85, 90, 78};
    int sum = 0;
    for (int g : grades) {
        sum += g;
    }
    std::cout << sum / grades.size() << std::endl;
    return 0;
}

Beklenen çıktı

84

Uygulama Vektörü kur ve son elemanı yazdır

Boş bir std::vector<int> v tanımla. push_back ile 7, 14, 21 değerlerini ekle. Sonra size()'ı ve son elemanı v.at(v.size()-1) ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v;
    // push_back ile 7, 14, 21 ekle; size ve son elemanı yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v;
    v.push_back(7);
    v.push_back(14);
    v.push_back(21);
    std::cout << v.size() << " " << v.at(v.size() - 1) << std::endl;
    return 0;
}

Beklenen çıktı

3 21

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Kavramları eşle

Kavram Anlamı
push_back Sona ekler
size() Sayar
at(i) Denetimli erişim
for (int x : v) Dolaşır

2 Hangi yöntem sınırları denetler?

main.cpp
nums.???(i)
  • nums.at(i) Doğru cevap
  • nums.push_back(i)
  • nums[i]
  • nums.size()

Açıklama: at(i) sınırları denetler, geçersiz dizinde hata fırlatır.

3 push_back ile ekle

Soru
v.____(42);
Cevap
v.push_back(42);

Açıklama: push_back(42) sona ekler.

Başlangıç bölümündeki tüm dersler