Hàm so sánh trong C++
So sánh chuỗi trong C++programming c++ Nguyen_Nhat_Minh (Nhật Minh) April 29, 2018, 11:03am #1 Chào mọi người, mình có viết 1 hàm để so sánh 2 chuỗi có giống nhau không, cụ thể hàm như sau: bool SoSanh(string s1, string s2) { for (int i = 0; i < s1.size(); i++) s1[i] = toupper(s1[i]); for (int i = 0; i < s2.size(); i++) s2[i] = toupper(s2[i]); if (s1.compare(s2) == 0) { return true; } return false; }Nhưng khi debug thấy vòng for đầu tiên không đưa s1 thành chữ hoa được. Mọi người xem giúp mình lỗi nằm ở đâu ? Cảm ơn mọi người kienonline19 (Nguyen Kien) May 18, 2017, 12:02pm #2 Gọi hàm tốn thời gian bạn thử làm s1[i] += 32 xem sao ? kienonline19 (Nguyen Kien) May 18, 2017, 12:19pm #3 ý bạn là so sánh về độ dài à ? #includeyeuhangxom (2D_team_free_online_Education) May 18, 2017, 12:23pm #4 class string trong C++ nó không cần phải chạy vòng for , nó đã tích hợp r , muốn so sánh thì cho if (s1 == s2) return true else return false là được , độ dài là s.lenght(), các hàm đã được định nghĩa sẵn trong thiw viện string của C++ và string.h của C 1 Like Nguyen_Nhat_Minh (Nhật Minh) May 18, 2017, 3:41pm #5 Ý mình là so sánh 2 chuỗi nó trùng nhau k ấy. Tại có cả trường hợp là số ví dụ như số điện thoại nữa nên mình k dùng +32 yeuhangxom (2D_team_free_online_Education) November 23, 2018, 2:47am #6 Trong C có hỗ trợ hàm so sánh 2 mảng kí tự char là strcmp , trong C++ thì cũng có hàm so sánh , nhưng mình có thể dùng trực tiếp như 2 biến số , thì so sánh 2 chuỗi string có thể dùng if (a==b){...} else{...}1 Like Duc_Loi (đức Lợi) November 23, 2018, 9:22am #7 C++ có string luôn hả bạn noname00 (HK boy) November 23, 2018, 2:47am #8 Ý bạn là gì? https://en.cppreference.com/w/cpp/string/basic_string 2 Likes An_Nguyen_Truong1 (An Nguyen Truong) July 19, 2020, 6:08am #9 lệnh đấy là chuyển từ hoa thành thường.nếu ghi chữ thường thì chuyển linh tinh j ấy. |