Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Tìm ký tự tạo nên dãy

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    21

    Mặc định Tìm ký tự tạo nên dãy

    cô có giao bài tìm xâu được tạo thành từ các ký hiệu nào , ý tưởng của em là lấy 1 xâu chuẩn liệt kê đầy đủ các ký tự , sau đó so sánh từng ký tự với chuỗi gặp thì in và break luôn , nhưng không hiểu sao nó lại toàn cho ra các ký tự của từ đầu tiên sau đó đến dấu cách thì nó không kiểm tra nữa và không in các ký tự sau đó.bác nào xem hộ em em sai đâu ,có thể chỉnh và test luôn hộ em rồi reply . Thk alot

    C++ Code:
    1. void KTTaoThanhXau(char *s)
    2. {
    3.     int flag,k;
    4.     char a[62]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    5.     printf("\nCac ky tu tao thanh xau la : ");
    6.     for(int i=0;i<62;i++)
    7.         {
    8.         for(flag=0,k=0;k<strlen(s);k++)
    9.             {if(a[i]==s[k]) {flag=1;break;}}
    10.         if(flag==1){printf(" %c ",a[i]);}
    11.         }
    12.  
    13. }
    Đã được chỉnh sửa lần cuối bởi Devost24 : 30-03-2009 lúc 10:26 PM.

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    21

    anybody can help me

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Không ổn từ thuật toán rồi bạn, bạn duyệt mảng kí tự đó.

    Xét phần tử thứ i duyệt từ 0 đến i-1 nếu không có kí tự nào bằng nó thì xuất nó ra màn hình.

    Nếu muốn đếm số kí tự thì thêm một bước là, nếu s[i] chưa xuất hiện ở dưới thì duyệt từ i trở đi và dùng một biến đếm để đếm, xuất biến và kết quả đếm ra màn hình.

    Nếu không phân biệt hoa thường thì bạn upcase or lowcase toàn bộ kí tự chữ trong chuỗi, rồi thực hiện.

  4. #4
    Ngày gia nhập
    04 2008
    Bài viết
    336

    cách này nhanh nhưng tốn bộ nhớ phụ 1 tí
    tạo 1 mảng a gồm 256 phần tử , khởi tạo tất cả = 0
    duyệt chuỗi s, tại s[i] thì ++a[(int)(s[i])];
    sau đó duyệt mảng a, nếu a[i] khác 0 thì in ra (char)(i) và số lượng của i (a[i])
    code ra gió bão

  5. #5
    Ngày gia nhập
    02 2009
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi QuangHoang Xem bài viết
    Không ổn từ thuật toán rồi bạn, bạn duyệt mảng kí tự đó.

    Xét phần tử thứ i duyệt từ 0 đến i-1 nếu không có kí tự nào bằng nó thì xuất nó ra màn hình.

    Nếu muốn đếm số kí tự thì thêm một bước là, nếu s[i] chưa xuất hiện ở dưới thì duyệt từ i trở đi và dùng một biến đếm để đếm, xuất biến và kết quả đếm ra màn hình.

    Nếu không phân biệt hoa thường thì bạn upcase or lowcase toàn bộ kí tự chữ trong chuỗi, rồi thực hiện.
    bạn ơi mình có chỉnh lại 1 chút nó vẫn ra mà chỉ có ký tự " và \ không hiển thị được thôi ,ai biết tại sao chỉ giùm với

    PS : mà cái ông coder_gate học cùng trường mà chẳng giúp anh em gì cả , gọi cả điện thoại rồi Yahoo thì không khi nào thấy on :((

    C++ Code:
    1. void KTTaoThanhXau(char *s)//hien thi thieu " \
    2. {
    3.     int flag,k;
    4.     char a[150]="`-=\[];',./~!@#$%^&*()_+|{}:<>?""""<>?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    5.     printf("\nCac ky tu tao thanh xau la : ");
    6.     for(int i=0;a[i]!='\0';i++)
    7.         {
    8.         for(flag=0,k=0;s[k]!='\0';k++) if(a[i]==s[k]) {flag=1;break;}
    9.         if(flag==1){printf(" %c ",a[i]);}
    10.         }
    11.  
    12. }
    Đã được chỉnh sửa lần cuối bởi Devost24 : 31-03-2009 lúc 07:59 PM.

  6. #6
    Ngày gia nhập
    02 2009
    Bài viết
    21

    Mặc định Tìm ký tự tạo nên dãy

    Bạn có thể test = code sau:

    C++ Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. void KTTaoThanhXau(char *s)//hien thi thieu " \
    5. {
    6.     int flag,k;
    7.     char a[150]="`-=\[];',./~!@#$%^&*()_+|{}:<>?""""<>?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    8.     printf("\nCac ky tu tao thanh xau la : ");
    9.     for(int i=0;a[i]!='\0';i++)
    10.         {
    11.         for(flag=0,k=0;s[k]!='\0';k++) if(a[i]==s[k]) {flag=1;break;}
    12.         if(flag==1){printf(" %c ",a[i]);}
    13.         }
    14.  
    15. }
    16. void main()
    17. {
    18.     char xau[100];
    19.     char *c;
    20.     clrscr();
    21.     printf("\nNhap vao xau : ");
    22.     gets(xau);
    23.     KTTaoThanhXau(xau);
    24.     getch();
    25. }

Các đề tài tương tự

  1. Có nên học lập trình? Nên học cái gì? Cho em 1 lời khuyên đi các anh.
    Gửi bởi tinhdonphuong111 trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 17
    Bài viết cuối: 03-10-2012, 09:09 PM
  2. Bà bầu “yêu” khi mang thai: Nên hay không nên?
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 25-09-2012, 07:56 PM
  3. Nên nên chọn đề tài nào để làm đề án dùng c# + csdl
    Gửi bởi chitvivo trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 23
    Bài viết cuối: 18-09-2011, 12:57 AM
  4. Những điều nên tránh và những điều nên làm khi đi Nhật Bản
    Gửi bởi cotiencolien trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 06-05-2011, 06:58 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn