25/07/2023
25/07/2023
Tham khảo timi nha
25/07/2023
Để kiểm tra xem một xâu có phải là xâu đối xứng hay không, ta có thể so sánh các ký tự từ đầu và từ cuối của xâu. Nếu tất cả các ký tự tương ứng giống nhau, thì xâu đó là xâu đối xứng.
Dưới đây là một đoạn mã C++ để giải quyết bài toán này:
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
int n = s.length();
for (int i = 0; i < n / 2; i++) {
if (s[i] != s[n - i - 1]) {
return false;
}
}
return true;
}
int main() {
int n;
cin >> n;
cin.ignore();
for (int i = 0; i < n; i++) {
string s;
getline(cin, s);
if (isPalindrome(s)) {
cout << "1 ";
} else {
cout << "0 ";
}
}
return 0;
}
```
Đầu tiên, chúng ta định nghĩa một hàm `isPalindrome` để kiểm tra xem một xâu có phải là xâu đối xứng hay không. Hàm này sử dụng một vòng lặp để so sánh các ký tự từ đầu và từ cuối của xâu. Nếu tất cả các ký tự tương ứng giống nhau, thì xâu đó là xâu đối xứng.
Trong hàm `main`, chúng ta đọc số nguyên `n` từ đầu vào, sau đó sử dụng một vòng lặp để đọc `n` xâu từ đầu vào. Đối với mỗi xâu, chúng ta gọi hàm `isPalindrome` để kiểm tra xem xâu đó có phải là xâu đối xứng hay không, và in ra kết quả tương ứng.
Ví dụ:
Input:
```
3
abcba
abcab
a
```
Output:
```
1 0 1
```
Trong ví dụ này, xâu "abcba" và "a" là xâu đối xứng, trong khi xâu "abcab" không phải là xâu đối xứng.
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
Top thành viên trả lời