String karşılaştırma
- C++ kursu
- Başlangıç
- Ders 91/116
- 5 dk
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 = 0Bu 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
#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
#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ı
string a = "elma";
string b = "armut";
if (a ____ b) {
cout << "ayni";
}
string a = "elma";
string b = "armut";
if (a == b) {
cout << "ayni";
}
Açıklama: == ile iki dizenin içerikleri eşit mi sınanır.