Gửi Thông Điệp Yêu Thương vanbinh_bt nhắn với all: thi sao rồi mấy đồ...[Mr]-Boom nhắn với All K4: Chúc mọi người có 1 kỳ thi thật tốt !!lặng lẽ yêu nhắn với nguyễn ngọc huy: chúc mi có một kỳ thi tốt nha. vẫn nhớ mingocthongcctm05f nhắn với QNGAI: hãy sát cánh bên nhau.....hi.......trinhvh91 nhắn với TM03B: TM03B đoàn kết đi chơi cuối khóa nghenNgười vô cảm nhắn với nguyenlu: Ai vậy? T vẫn bước đi trong yêu thương mà ^^381 nhắn với neyugn: mong rằng chúng ta sẽ đi đến cái đích cuối cùng !nguyenlu nhắn với Người vô cảm: Hãy bước đi trong sự yêu thươnglenguyen_alone nhắn với Young Bin: tại sao nhok lại iu bin chứ nhỉ???hp thành công nhá!!binhcaolinh nhắn với Đen Trần: Cố gắng học chăm chỉ nhé em! Gửi Thông Điệp Yêu Thương


BẢNG GIÁ QUẢNG CÁO TẠI DIỄN ĐÀN 2MIT.ORG 2012

Hiện kết quả từ 1 tới 1 của 1

Chủ đề: Tìm kiễm chuỗi trong chuỗi

  1. #1
    Tham gia ngày
    Sep 2009
    Đến từ
    LT3C Co., Ltd
    Tuổi
    21
    Bài gửi
    1,635
    Cảm ơn
    1,170
    Được cảm ơn 1,245/499 bài viết
    Blog Entries
    10
    8
    MASTER
     
     
    Số lần cộng|trừ: 3 lần

    Default Tìm kiễm chuỗi trong chuỗi

    Với đề sau:Viết chương trình kiểm tra ‘‘hello’’ có trong xâu s hay không*?(không phân biệt chữ hoa và chữ thường)

    Vấn đề cần quan tâm ở đây là tìm kiếm chuỗi trong chuỗi.
    Thuật toán dưới đây sẽ duyệt chuỗi, gặp chữ 'h' hoặc 'H' sẽ copy 5 ký tự tiếp theo vào mảng tạm , sau đó so sánh với "hello".

    Vấn đề thứ 2 là không phân biệt hoa thường. ở đây dùng strupr(); --> chuyển về viết hoa để so sánh.

    Code:
    #include<iostream>
    #include<string.h>
    #include<cstdio>
    using namespace std;
    main()
    {
        char a[50],b[6],d[6]="HELLO";
        cout<<"\nNhap chuoi: ";
        gets(a);
        int slen=strlen(a);
        for(int i=0;i<slen-4;i++)
        {
            if(a[i]=='h'||a[i]=='H')
            {
                int k=i;
                for(int j=0;j<5;j++)
                    {
                        b[j]=a[k];
                        k++;
                    }
            }
            if(strcmp(b,d)==0)
                break;
        }
        strupr(b);
        if(strcmp(b,d)==0)
            cout<<"\nCo";
        else
            cout<<"\nKhong";
    }
    Thuật toán mới chỉ giải quyết được vấn đề, song vẫn chưa tối ưu lắm.
    --> cần một thuật toán tối ưu hơn ?

    --------------------------------------------------
    Xem các chủ đề cùng chuyên mục:


    +1 EXP
    Hãy nghĩ tới những điều tốt đẹp

  2. Có tổng cộng 4 thành viên cảm ơn integer cho bài viết này

    BigZero (08-03-2012), hongoctrien (09-03-2012), KunMinzi  (13-06-2011), lyvinhr00m (06-03-2011)

Thông tin về chủ đề này

Users Browsing this Thread

Hiện giờ đang có 1 người xem chủ đề này. (0 thành viên 1 khách)

     

Chủ đề giống nhau

  1. Xóa các khoảng trống trong chuỗi
    By LieuKyThien in forum Thuật toán
    Trả lời: 2
    Bài mới gửi: 27-04-2011, 11:32 PM
  2. Biến con trỏ chuột thành đèn laser trong PowerPoint 2010
    By lyvinhr00m in forum Tin học căn bản
    Trả lời: 0
    Bài mới gửi: 21-02-2011, 02:25 PM
  3. Đôi cánh chuồn chuồn
    By Yonni in forum Tâm sự chính mình
    Trả lời: 1
    Bài mới gửi: 13-05-2010, 05:04 AM
  4. Câu chuyện củ chuối !!!!
    By congthangitvn in forum Phỏng vấn - Tán gẫu
    Trả lời: 0
    Bài mới gửi: 26-05-2009, 01:40 AM
  5. Tính Tần Suất Từ Xuất Hiện Trong Chuỗi
    By TruTra in forum Thuật toán
    Trả lời: 0
    Bài mới gửi: 14-05-2009, 09:10 AM

841
Lượt xem

Share