Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Toán tử so sánh chuỗi: >, <, ==, >=, <=

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    25

    Mặc định Toán tử so sánh chuỗi: >, <, ==, >=, <=

    Các anh (chị)chỉ giúp em các toán tử so sánh trên Chuổi,không sử dụng thư viện string.h nha.THANK rất nhiều

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

    Tất cả các hàm hỗ trợ xử lý chuỗi đặt trong string.h
    Có string.h mà khôg dùng thì dùng cái j`?
    ||

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

    Dùng thư viện string thì có sẵn rồi http://www.cplusplus.com/reference/s...operators.html

    *Chú ý là có 2 thư viện:
    cstring // cái bạn nói trên chắc cái này
    string


    Không thì bạn viết lại hàm sử dụng chồng toán tử.

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

    nếu mình hiểu không nhầm có phải bạn được yêu cầu viết lại class MyString đúng không
    mình giúp bạn 3 cái đầu 2 cái sau bạn tự viết
    PHP Code:
    #include "iostream"
    using namespace std;
    class 
    MyString
    {
        private:
            
    char *m_arr;
            
    int n;//chieu dai toi da cua chuoi
            //demo thuat toan chinh nen minh them vao cho de viet
            
    friend ostream &operator<<(ostream &, const MyString &);
            
    friend istream &operator>>(istream &, MyString &);
            
    friend int strlenarr(const MyString &);//lay chieu dai thuc cua chuoi ket thuc = '\0'
        
    public:
            
    bool operator > (const MyString &);
            
    bool operator < (const MyString &);
            
    bool operator == (const MyString &);
            
    };
    int strlenarr(const MyString &ms)
    {
        
    int i 0;
        while(
    ms.m_arr[i] != '\0')
        {
            
    i++;
        }
        return 
    i;
    }
    ostream &operator<<(ostream &os, const MyString &ms)
    {
        
    os << ms.m_arr;
        return 
    os;
    }
    istream &operator>>(istream &isMyString &ms)
    {
        
    cout << "Nhap Chieu Dai Chuoi: ";
        
    is >> ms.n;
        
    ms.m_arr = new char[ms.1];
        
    is.ignore();
        
    is.getline(ms.m_arrms.1);
        return 
    is;
    }
    bool MyString::operator >(const MyString &ms)
    {
        for (
    int i 0ni++)
        {
            if(
    m_arr[i] > ms.m_arr[i])
            {
                return 
    true;
            }
            else
            {
                if(
    ms.m_arr[i] != m_arr[i])
                {
                    return 
    false;
                }
            }
            if(
    ms.m_arr[i] == '\0'||m_arr[i] == '\0')
            {
                break;
            }
        }
        
        
    int Team1 strlenarr(ms);
        
    int Team2 strlenarr(*this);
        if (
    Team2 Team1)
        {
            return 
    true;
        }
        else
        {    
            if(
    Team2 != Team1)
            {
                return 
    false;
            }
        }
        return 
    false;

    }
    bool MyString::operator <(const MyString &ms)
    {
        for (
    int i 0ni++)
        {
            if(
    m_arr[i] < ms.m_arr[i])
            {
                return 
    true;
            }
            else
            {
                if(
    ms.m_arr[i] != m_arr[i])
                {
                    return 
    false;
                }
            }
            if(
    ms.m_arr[i] == '\0'||m_arr[i] == '\0')
            {
                break;
            }
        }
        
    int Team1 strlenarr(ms);
        
    int Team2 strlenarr(*this);
        if (
    Team2 Team1)
        {
            return 
    false;
        }
        else
        {    
            if(
    Team2 != Team1)
            {
                return 
    true;
            }
        }
        return 
    false;
    }
    bool MyString::operator == (const MyString &ms)
    {
        if(*
    this ms)
        {
            return 
    false;
        }
        else
        {
            if(*
    this ms)
            {
                return 
    false;
            }
        }
        return 
    true;

    do chỉ chú trọng vào các toán tử "><=="nên mình thêm vào biến int n cho dễ viết chứ không tội mình lám

  5. #5
    Ngày gia nhập
    12 2008
    Bài viết
    25

    Nhân tiện các bạn giúp mình hàm:Cho 1 chuổi a,cho 1 chuổi b,xem thử chuổi b có phải là con chuổi a không(vẩn không sử dụng thư viện string.h hay cstring),Cảm ơn trước nha

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

    Mặc định Toán tử so sánh chuỗi: >, <, ==, >=, <=

    PHP Code:
    bool MyString::operator >(const MyString &ms)
    {
        for (
    int i 0ni++)
        {
            if(
    m_arr[i] > ms.m_arr[i])
            {
                return 
    true;
            }
            else
            {
                if(
    ms.m_arr[i] != m_arr[i])
                {
                    return 
    false;
                }
            }
            if(
    ms.m_arr[i] == '\0'||m_arr[i] == '\0')
            {
                break;
            }
        }
        
        
    int Team1 strlenarr(ms);
        
    int Team2 strlenarr(*this);
        if (
    Team2 Team1)
        {
            return 
    true;
        }
        else
        {    
            if(
    Team2 != Team1)
            {
                return 
    false;
            }
        }
        return 
    false;


    bạn ơi cho mình hỏi cái dòng cuối cùng tại sao lại return false vậy hả bạn, mình đổi thành return true thì ý nghĩa của nó có thay đổi kô hả bạn

  7. #7
    Ngày gia nhập
    04 2009
    Bài viết
    17

    sao kô ai trl hết vậy chán wa

  8. #8
    Ngày gia nhập
    10 2008
    Bài viết
    178

    return true nếu hai chuỗi bằng nhau ma thì chương trình chạy sai

  9. #9
    Ngày gia nhập
    01 2009
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi anhhaibi Xem bài viết
    Nhân tiện các bạn giúp mình hàm:Cho 1 chuổi a,cho 1 chuổi b,xem thử chuổi b có phải là con chuổi a không(vẩn không sử dụng thư viện string.h hay cstring),Cảm ơn trước nha
    chuỗi kí tự thật ra chỉ là mảng 1 chiều các số nguyên thui.chỉ khác là nó có thêm kí tự NULL,khi gặp kí tự NULL thì tất cả các phần tử nằm sau NULL đều ko xác định.bạn chỉ cần thao tác trên chouỗi kí tự như mảng 1 chiều là được.

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

    Trích dẫn Nguyên bản được gửi bởi anhhaibi Xem bài viết
    Nhân tiện các bạn giúp mình hàm:Cho 1 chuổi a,cho 1 chuổi b,xem thử chuổi b có phải là con chuổi a không(vẩn không sử dụng thư viện string.h hay cstring),Cảm ơn trước nha
    Kiểm tra xâu 1 có chứa xâu 2 hay không.
    PHP Code:
    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    void main()
    {
            
    clrscr();
        
    char *x1,*x2;
        
    cout<<"\t KIEM TRA XAU1 CO CHUA XAU2 KHONG???";
        
    cout<<"\nnhap xau 1:";
        
    gets(x1);
        
    cout<<"\nnhap xau2:";
        
    gets(x2);
            
    int j,t=0;
            
    char gan[100];
        for(
    int i=0;x1[i]!='\0';++i)
        {
          if(
    x2[0]==x1[i])
          {
              for(
    j=0;x2[j]!='\0';++j) {if(x1[i+j]==x2[j]) { gan[t]=x2[j]; ++t;}}
          }
        }
        
    int d=0; for(int i=0;x2[i]!='\0';++i) ++d;
        if(
    t!=dcout<<"xau1 khong chua xau2";
            else 
    cout<<"xau1 chua xau 2";
    getch();

    http://forums.congdongcviet.com/signaturepics/sigpic40188_1.gif

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

  1. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

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