Bài tập mảng kí tự : chèn , đảo ngược và đếm?
-Mình học tới phần mảng kí tự C trong c++ rồi và mình tự ra một bài tập có nội dung bên dưới và không giải quyết được bài tập đó đề bài của mình như sau :
Tạo một mảng kí tự a sau đó nhập vào chuỗi b , nếu chuỗi b xuất hiện trong chuỗi a thì chèn chuỗi b bằng chuỗi c có thể có độ dài > hơn chuỗi b
-Mình đã tìm được chuỗi b : con_tro_char = strstr(a,b);
nhưng làm sao chèn [thay b = c] thì mình lại không giải quyết đc
Y tưởng của mình : cắt mảng b từ vi trí 0 > vi trí kí tự đằng sau chuỗi b
VD :“hoc” trong “lam gi phai hoc , hahaha”
lam gi phai hoc, hahaha -> lam gi phai iloveyousomuch, hahaha
thì mình sẽ cắt "lam gi phai "+“chèn c”+"chèn phần còn lại đằng sau chữ học
-hàm strcpy có cho phép mình cắt mảng kí tự b từ vi trí x > vi trí strlen(b) có được khang?
-hàm strcat có cho phép mình chèn vị trí đầu hay vi trí n ko?
-Các bạn nếu có thuật toàn nào hay giải đc bài này thì share cho m` nha
-Giai xong bài này mình sẽ làm phần đảo ngược chuỗi + đảo ngược từ trong chuỗi và đếm số lần ký tự xuất hiện trong chuỗi . Các bạn có thể gợi ý cho mình cách giải đc không vì hiện tại mình chưa nghĩ ra được giải pháp nào để giải bài tập này
Cảm ơn các bạn đã dành thời gian để xem qua bài viết của mình
Mình làm như thế này, không biết có cách nào nhanh hơn không nữa, đợi mấy anh vào hướng dẫn thêm vậy
^
Ptr = strstr(a,b) = hoc buoi dau tien
temp = ptr + chiều dài b // strcpy cộng được @@
temp = hoc buoi dau tien + 3 là sao
vòng lập i sẽ gán chuỗi c = i
giả sử : c = sao thì ptr = sao buoi dau tien
nếu c = iloveyou thì ptr = iloveyou dau tien
Ai giải thích giúp tui phép tính cộng trừ trong mấy hàm của xâu kí tự xem @@
strcpy(X,B+1 số)
strcat(X,B+1 số)
có strstr(X,B+1 số ) không ta @@ ?
còn 1 đống hàm xài phép + , - khi nào
strcpy,strncpy,strcat,strncat,strlwr,strupr,strcmp,strchr,strrchr
strstr,strlen
Bạn debug đi rồi sẽ hiểu cách nó hoạt động.
woa hiểu rồi
còn cách nào nữa ko @@!
a = tôi đi học ngoại ngữ
b = học
c = làm việc có liên quan
KQ : tôi đi làm việc có liên quan ngoại ngữ
Mình thấy trong code của bạn có sử dụng con trỏ. Đến bh mình vẫn k hiểu cách hoạt động của nó ra sao mà tại sao phải dùng nó . Bạn có thể nói cho mình đc k
Bạn cũng UIT mà đúng không? Tuần này đang bật ôn thi mode nên lười gõ quá, đợi thi xong rồi mình trình bày kĩ luôn.
Hoặc @Nghia_Pham hiểu rồi thì giải thích lại giúp mình với.
Ủa bạn k10 luôn hả. Ôn xong hết chưa :))
Chắc đủ qua môn thôi bạn