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

Đề tài: viết hàm kiểm tra chuỗi s có chứa biển số xe hay không

  1. #1
    Ngày gia nhập
    07 2021
    Bài viết
    0

    Mặc định viết hàm kiểm tra chuỗi s có chứa biển số xe hay không

    Viết hàm kiểm tra một chuỗi s có chứa biển số xe hay không. Biết rằng chuỗi biển số xe là chuỗi có định dạng "XX-YX-XXXXX" trong đó X là một ký tự số, Y là ký tự chữ.
    Ví dụ:
    s = "Bien so xe 53-Y3-00073 la bien so dep" ==> return 1
    s = "Price: 300$ - discountt: 50$" ==> return 0;
    bắt buộc dùng c
    Đã được chỉnh sửa lần cuối bởi kangkang : 31-07-2021 lúc 05:02 PM.

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    986

    . Không thống nhất giữa định nghĩa và ví dụ - là XX-YX-XXXX hay XX-YX-XXXXX.
    . Chuỗi Bien so xe53-Y3-00073la bien so dep sẽ cho kết quả return 1 hay return 0 ?
    . Mã của bạn đâu ?


    .

  3. #3
    Ngày gia nhập
    02 2016
    Bài viết
    328

    Dùng Regex là khoẻ nhất:

    #include <iostream>
    #include <regex>

    using namespace std;

    int BienSoXe(const char *s)
    {
    return regex_search(s, regex("\\d{2}-\\w\\d-\\d{4,5}"));
    }

    int main()
    {
    cout << BienSoXe("Bien so xe 53-Y3-00073 la bien so dep");
    return 0;
    }

  4. #4
    Ngày gia nhập
    02 2016
    Bài viết
    328

    Trích dẫn Nguyên bản được gửi bởi kangkang Xem bài viết
    bắt buộc dùng c
    #include <stdio.h>
    #include <regex.h>

    int BienSoXe(const char *string)
    {
    int status;
    regex_t re;

    if (regcomp(&re, "[0-9]{2}-[A-Za-z][0-9]-[0-9]{4,5}", REG_EXTENDED|REG_NOSUB) != 0)
    return(0); /* error. */

    status = regexec(&re, string, (size_t) 0, NULL, 0);
    regfree(&re);
    return (status != 0)? 0 : 1;
    }

    int main()
    {
    printf("%d", BienSoXe("Bien so xe 53-Y3-00073 la bien so dep"));

    return 0;
    }
    Đã được chỉnh sửa lần cuối bởi NguNhuheo : 03-08-2021 lúc 05:24 PM. Lý do: chỉnh code ngắn chút xíu

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