CodeBlanks Logo Icon CodeBlanks

String karşılaştırma

String karşılaştırma operatörlerini öğrenirsin.

Dize karşılaştırma operatörleri

İki string'in eşit olup olmadığını == operatörüyle, sıralamasını ise <, >, <=, >= operatörleriyle sınarsın. Karşılaştırma sözlük sırasına göre yapılır.

string a = "elma";
string b = "armut";
if (a == b) { /* eşit */ }
if (a < b) { /* a önce gelir */ }

Operatörler büyük/küçük harfe duyarlıdır: "Elma" ile "elma" aynı değildir. Eşitlik sınaması dize içeriklerini karakter karakter karşılaştırır; uzunluk farklıysa sonuç hemen false olur.

compare metodu

string sınıfının .compare() metodu daha ayrıntılı bilgi verir. Eşitse 0, çağıran dize daha küçükse negatif, daha büyükse pozitif bir değer döndürür.

string a = "elma";
string b = "elma";
int c = a.compare(b);  // c = 0

Bu metod, sıralama algoritmalarında karşılaştırma işlevi gerektiğinde kullanışlıdır. Basit eşitlik için == daha okunaktır; ancak üçlü karşılaştırma gerektiğinde .compare() tercih edilir.

Uygulama İki dizeyi karşılaştır ve yazdır

string a = "kiraz"; ve string b = "kiraz"; tanımla. if (a == b) ile eşit mi diye sına; eşitse cout << "ayni" << endl; yazdır. Aksi halde cout << "farkli" << endl; yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    string a = "kiraz";
    string b = "kiraz";
    // == ile karşılaştır, eşitse "ayni", değilse "farkli" yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    string a = "kiraz";
    string b = "kiraz";
    if (a == b) {
        cout << "ayni" << endl;
    } else {
        cout << "farkli" << endl;
    }
    return 0;
}

Beklenen çıktı

ayni

Soru ve cevaplar

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

1 string sınıfının compare() metodu eşit iki dize için ne döndürür?

  • 1
  • -1
  • true
  • 0 Doğru cevap

Açıklama: Eşit dize için compare() 0 döndürür.

2 İfadeyi sonuçuyla eşleştir

Kavram Anlamı
"a" == "a" eşittir
"a" < "b" önce gelir
"b" < "a" sonra gelir

3 Boşluğu doldur: eşitlik sınaması

Soru
string a = "elma";
string b = "armut";
if (a ____ b) {
    cout << "ayni";
}
Cevap
string a = "elma";
string b = "armut";
if (a == b) {
    cout << "ayni";
}

Açıklama: == ile iki dizenin içerikleri eşit mi sınanır.

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