30/09/2018, 17:20

Cắt chuỗi họ tên thành chuỗi họ lót và chuỗi tên

Viết hàm cắt chuỗi họ tên thành chuỗi họ lót và chuỗi tên.
Ví dụ: chuỗi họ tên là:”Nguyễn Văn A” cắt ra 2 chuỗi là chuỗi họ lót:”Nguyễn Văn”,chuỗi tên là:”A”

Sáng Béo viết 19:28 ngày 30/09/2018

theo mình thì cho i chạy từ cuối tìm khoảng trắng đầu tiên rồi lưu lại chỉ số. rồi dùng substr tách ra.

Nhật Cao Khánh viết 19:31 ngày 30/09/2018
họ = s.substr(0,s.find_last_of(' '));
tên = s.substr(s.find_last_of(' ') + 1);

Mình làm thế này

Sáng Béo viết 19:26 ngày 30/09/2018

ô, có hàm find_last_of này nữa á. @@.
lần đầu nhìn thấy.

Mai Anh Dũng viết 19:29 ngày 30/09/2018

C++ có nhiều hàm xử lý chuỗi hay lắm đấy. Đọc thêm std đi

Hồng Huệ viết 19:36 ngày 30/09/2018

nhưng mình sử dụng 2 hàm trên ko ra đc kết quả bạn

Nhật Cao Khánh viết 19:27 ngày 30/09/2018

Bạn xem lại chứ mình vẫn chạy đúng nhé.nhớ thêm thư viện string

Hồng Huệ viết 19:21 ngày 30/09/2018

mình có dùng thư viện rồi ,mình cho chạy vòng lặp for ngược,gặp khoảng trắng đầu tiên mình dùng hàm đó mà ko ra bạn

Nhật Cao Khánh viết 19:33 ngày 30/09/2018

sao kì vậy ta Cho minh xem code thử đi.

Sáng Béo viết 19:23 ngày 30/09/2018

nếu bạn dùng vòng for ngược gặp khoảng trắng đầu tiên rồi thì cần lưu lại vị trí đấy rồi thoát vòng lặp.
ví dụ:

int pos=0;
for(int i=s.length();i>=0;i--)
   if(s[i]==' '){
      pos=i;
      break;
   }
string ho=s.substr(0,pos);
string ten=s.substr(pos+1);
Hồng Huệ viết 19:22 ngày 30/09/2018

à mình biết mình sai chỗ nào rồi,mình quên lưu khoảng trắng ,cảm ơn bạn nha

Bài liên quan
0