Trong C++, chúng ta có chuỗi trong thư viện chuẩn. Trong chương trình này, chúng ta sẽ thấy cách kiểm tra xem hai chuỗi có giống hệt nhau hay không. Trong trường hợp này, chúng ta sẽ bỏ qua chữ hoa/chữ thường.
Logic ở đây rất đơn giản. Chúng ta sẽ chuyển đổi toàn bộ chuỗi thành chuỗi chữ thường hoặc chữ hoa, sau đó so sánh chúng, và trả về kết quả.
Chúng ta đã sử dụng thư viện algorithm để lấy hàm transform chuyển đổi chuỗi thành chuỗi chữ thường.
Đầu vào: Hai chuỗi "Hello WORLD" và "heLLO worLD" Đầu ra: Các chuỗi giống nhau
Thuật toán
Bước 1: Lấy hai chuỗi str1 và str2 Bước 2: Chuyển str1 và str2 thành dạng chữ thường Bước 3: So sánh str1 và str2 Bước 4: Kết thúc
Mã ví dụ
#include<iostream>
#include <algorithm>
using namespace std;
int case_insensitive_match(string s1, string s2) {
//chuyển s1 và s2 thành chuỗi chữ thường
transform(s1.begin(), s1.end(), s1.begin(), ::tolower);
transform(s2.begin(), s2.end(), s2.begin(), ::tolower);
if(s1.compare(s2) == 0)
return 1; //Hai chuỗi giống nhau
return 0; //không khớp
}
main() {
string s1, s2;
s1 = "Hello WORLD";
s2 = "heLLO worLD";
if(case_insensitive_match(s1, s2)) {
cout << "Các chuỗi giống nhau";
} else {
cout << "Các chuỗi không giống nhau";
}
}Kết quả
Các chuỗi giống nhau