PDA

View Full Version : Bt xâu



lehang_gb1
21-07-2009, 21:54
Viết chương trình cho máy tính làm những việc sau:
a. Nhận vào mảng X có n phần tử (n>10), mỗi phần tử là một xâu khác rỗng có không nhiều hơn 4 kí tự chỉ lấy trong tập các kí tự chữ số (chỉ số mảng X bắt đầu từ 1, có kiểm tra dữ liệu khi nhận vào).
b. Xây dựng mảng S các phần tử là số được đổi từ những phần tửcủa mảng X nếu phần tử có mặt kí tự 9 (chỉ số mảng S bắt đầu từ 1. Ví dụ một phần tử nào đó của X là xâu '219' thì phần tử mảng S là số 219).
c. Gọi P(k) là số chữ số của k. Trong mảng S, hãy tính các Tk như sau:
Tk=k+P(1)/3+P(2)/4+...+P(S[k])/(s[k]+2)
Hãy tính TONG=T1+T2+...+Tj
Trong đó Tk (k=1,2..., j) được tính theo quy luật như trên, j là số phần tử của mảng S.
d. Gọi xâu X5 là tổng của 5 xâu đầu tiên của mảng X
(X5=X[1]+X[2]+X[3]+X[4]+X[5]
S5 là số được tạo thành bằng cách giữ nguyên tất cả các kí tự của xâu S5. Hỏi S5 có là bội của 3 hay không?

quangtq
21-07-2009, 23:02
a. Kiểm tra đơn giản
b. Xét từ đầu đến cuối 1 phần tử, nếu thấy có '9' thì break. Val cái phần tử đó ra mảng S.
c. P(k)=Length(X[k]);
Sau đó thì tình dùng For đơn giản.
d. Chưa hiểu lắm. Có thể tính ra xong xem nó mod 3 = 0 hay ko :D

hang_vt
22-07-2009, 19:36
a) const t:set of char =['0'..'9']
if s[i] in T ..... { nếu s[i] là 1 số thì ... }
số kí tự của 1 xâu thì length ùi ss

d) Dùng hàm val để đưa xâu x5 thành số s5 . Áp dụng thêm phần cộng chuỗi nữa .