dreamer2908

standardizeString

Aug 25th, 2013
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. // Xet tung ki tu, neu ki tu hien tai la khoang trang + ki tu truoc cung la khoang trang
  2. // thi di chuyen phan con lai cua chuoi len mot vi tri (dung strcpy hoac memmove - nhanh hon).
  3. // Gan lastIsSpace = 1 ngay tu dau de loai bo het ki tu trang o dau chuoi.
  4. // Ki thuat nay ko loai bo ki tu trang cuoi cung o cuoi chuoi
  5. // (neu co 2 ki tu trang o cuoi thi sau khi xu li van con sot lai 1)
  6. // nen can phai xu li rieng.
  7. // Co the them kiem tra xem chuoi da het chua trong vong lap de khu nhuoc diem tren,
  8. // nhung toc do thuc thi se giam.
  9. // Co the bo bien lastIsSpace, nhung toc do se giam: (s[i-1] == " ") cham hon nhieu (lastIsSpace).
  10. // Co the bo bien n, nhung khi do phai dung strcpy va kiem tra het chuoi nen toc do se giam.
  11. void standardizeString(char s[], int &n)
  12. {
  13.     int lastIsSpace = 1;
  14.     for (int i = 0; i < n;)
  15.     {
  16.         if (s[i] == ' ')
  17.         {
  18.             if (lastIsSpace)
  19.             {
  20.                 memmove(&s[i], &s[i+1], (n - i)*sizeof(char));
  21.                 n--;
  22.             }
  23.             lastIsSpace = 1;
  24.         }
  25.         else
  26.         {
  27.             lastIsSpace = 0;
  28.             i++;
  29.         }
  30.     }
  31.     if (s[n] == ' ')
  32.     {
  33.         s[n] = '\0';
  34.         n--;
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment