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ố 11 kết quả

Đề tài: code loại bỏ những dòng ký tự thừa

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

    Question code loại bỏ những dòng ký tự thừa

    Em tự tìm hiểu về C++, và có 1 đoạn code này mong mọi người giúp e. đoạn code yêu cầu như sau:

    Xóa những dòng ký tự trong 1 file txt. Cụ thể là xóa những dòng toàn chữ, toàn _ (dấu gạch dưới) , toàn . (dấu chấm) , toàn số và những dòng bắt đầu bằng _ . số , những dòng kết thúc bằng _ . (dấu gạch dưới và chấm). Những dòng có 2 dấu _ và . ở gần nhau trở lên. Những dòng có 2 dấu . trở lên
    Để mọi người dễ hình dung em sẽ gửi cái hình


    Còn đây là cái file em trích ra trong file lớn
    http://www.mediafire.com/?95r2el1u40uqtnv


    Mong mọi người giúp em ! Để cảm ơn em hứa sẽ tặng người viết code hoàn chỉnh 100k card điện thoại

  2. #2
    Ngày gia nhập
    03 2012
    Bài viết
    27

    C++ Code:
    1. #include <iostream>
    2. #include <fstream>
    3.  
    4. using namespace std;
    5.  
    6. int kt1(string line)//Nhung dong bat dau bang _.so (Toan_ +toan.+toan so) + Nhung dong ket thuc bang _.
    7. {
    8.     int end=line.length()-1;
    9.     if(line[0]=='_' || line[0]=='.' || (line[0]>='0' && line[0]<='9')) return 0;
    10.     if(line[end]=='_' || line[end]=='.') return 0;
    11.     return 1;
    12. }
    13. int kt2(string line)//Nhung dong toan chu
    14. {
    15.     for(int i=0;i<line.length();i++)
    16.         if(line[i]<'A' || (line[i]>'Z' && line[i]<'a') || line[i]>'z')
    17.             return 1;
    18.     return 0;
    19. }
    20. int kt3(string line)//Nhung dong co 2_ gan nhau, hoac 2. gan nhau, hoac 2 dau. tro len
    21. {
    22.     int d=0;
    23.     for(int i=0;i<line.length()-1;i++)
    24.     {
    25.         if(line[i]=='.') d++;
    26.         if(d>=2) return 0;
    27.         if((line[i]=='_'&& line[i+1]=='_') || (line[i]=='.' && line[i+1]=='.'))
    28.             return 0;
    29.     }
    30.     return 1;
    31. }
    32.  
    33. int main()
    34. {
    35.     fstream fin;
    36.    
    37.     fin.open("test.txt");
    38.     int n=0;
    39.     while(!fin.eof())
    40.     {
    41.         string line;
    42.         getline(fin,line);
    43.         if(kt1(line) && kt2(line) && kt3(line))
    44.             cout<<line<<endl;
    45.     }
    46.     fin.close();
    47. }
    Attached Thumbnails Attached Thumbnails 137d82f439d7f5a5665b4e06846c3170_52916792.hoiccc.png  

    Y!M: doxuanthangvn
    Skype: doxuanthangvnn
    Email: doxuanthang@hotmail.com

  3. #3
    Ngày gia nhập
    01 2013
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi doxuanthang Xem bài viết
    C++ Code:
    1. #include <iostream>
    2. #include <fstream>
    3.  
    4. using namespace std;
    5.  
    6. int kt1(string line)//Nhung dong bat dau bang _.so (Toan_ +toan.+toan so) + Nhung dong ket thuc bang _.
    7. {
    8.     int end=line.length()-1;
    9.     if(line[0]=='_' || line[0]=='.' || (line[0]>='0' && line[0]<='9')) return 0;
    10.     if(line[end]=='_' || line[end]=='.') return 0;
    11.     return 1;
    12. }
    13. int kt2(string line)//Nhung dong toan chu
    14. {
    15.     for(int i=0;i<line.length();i++)
    16.         if(line[i]<'A' || (line[i]>'Z' && line[i]<'a') || line[i]>'z')
    17.             return 1;
    18.     return 0;
    19. }
    20. int kt3(string line)//Nhung dong co 2_ gan nhau, hoac 2. gan nhau, hoac 2 dau. tro len
    21. {
    22.     int d=0;
    23.     for(int i=0;i<line.length()-1;i++)
    24.     {
    25.         if(line[i]=='.') d++;
    26.         if(d>=2) return 0;
    27.         if((line[i]=='_'&& line[i+1]=='_') || (line[i]=='.' && line[i+1]=='.'))
    28.             return 0;
    29.     }
    30.     return 1;
    31. }
    32.  
    33. int main()
    34. {
    35.     fstream fin;
    36.    
    37.     fin.open("test.txt");
    38.     int n=0;
    39.     while(!fin.eof())
    40.     {
    41.         string line;
    42.         getline(fin,line);
    43.         if(kt1(line) && kt2(line) && kt3(line))
    44.             cout<<line<<endl;
    45.     }
    46.     fin.close();
    47. }
    cảm ơn bạn nhiều lắm, để mình test sản phẩm của bạn. Có 5 số 6 là toàn số rồi bạn, cái 2 dấu chấm chắc mình nhầm cảm ơn bạn nhiều ! Mà bạn ơi ! mình bỏ vào C-free nó bị lỗi.

  4. #4
    Ngày gia nhập
    03 2012
    Bài viết
    27

    Trích dẫn Nguyên bản được gửi bởi jeta Xem bài viết
    cảm ơn bạn nhiều lắm, để mình test sản phẩm của bạn. Có 5 số 6 là toàn số rồi bạn, cái 2 dấu chấm chắc mình nhầm cảm ơn bạn nhiều ! Mà bạn ơi ! mình bỏ vào C-free nó bị lỗi.
    Có mấy dấu cách rồi mới đến số 6 mà, mình dùng C-Free có sao đâu bạn, bạn tạo 1 file test.txt rồi gõ các dòng như trong VD ấy.

    Y!M: doxuanthangvn
    Skype: doxuanthangvnn
    Email: doxuanthang@hotmail.com

  5. #5
    Ngày gia nhập
    01 2013
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi doxuanthang Xem bài viết
    Có mấy dấu cách rồi mới đến số 6 mà, mình dùng C-Free có sao đâu bạn, bạn tạo 1 file test.txt rồi gõ các dòng như trong VD ấy.
    Nó bị lỗi như hình. Tại mình không biết về C

    Còn mấy số là tại mình bỏ vào excel nên nó nhảy số qua bên phải

  6. #6
    Ngày gia nhập
    03 2012
    Bài viết
    27

    Mặc định code loại bỏ những dòng ký tự thừa

    Trích dẫn Nguyên bản được gửi bởi jeta Xem bài viết
    nó bị lỗi như hình. :d tại mình không biết về c :d

    còn mấy số là tại mình bỏ vào excel nên nó nhảy số qua bên phải :d
    khai báo string mà còn không đúng thì mình cũng chịu =)).

    mình dùng c-free 5.0

    Y!M: doxuanthangvn
    Skype: doxuanthangvnn
    Email: doxuanthang@hotmail.com

  7. #7
    Ngày gia nhập
    01 2013
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi doxuanthang Xem bài viết
    khai báo string mà còn không đúng thì mình cũng chịu =)).

    mình dùng c-free 5.0
    Mình dùng C-free 4 ^^. Để mình tải C-f 5 xem. cảm ơn bạn !

  8. #8
    Ngày gia nhập
    01 2013
    Bài viết
    1,477

    Vài lời gửi đến bạn là đừng vác hết cả namespace vào code.
    Thế này là đủ rồi:
    Code:
    using std::cin;
    using std::cout;

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

    Bạn ơi ! Trên C-F5 thì chạy được rồi, nhưng mà nó đâu có thay đổi trong file test.txt. Mình muốn là nó sẽ bỏ những dòng thừa luôn. Bạn giúp mình lần nữa nha !

  10. #10
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    Trích dẫn Nguyên bản được gửi bởi doxuanthang Xem bài viết
    khai báo string mà còn không đúng thì mình cũng chịu =)).

    mình dùng c-free 5.0
    Thiếu #include <string>
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

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

  1. Có cách nào loại bỏ dòng trắng cuối cùng trong DataGridView không?
    Gửi bởi lnminh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 05-07-2016, 12:33 PM
  2. Hàm trong C hướng dẫn loại bỏ ki tu xuống dòng hàm fgets
    Gửi bởi vanminhcit trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 26-10-2012, 11:33 AM
  3. Algorithm Loại bỏ dòng trắng trong file text như thế nào?
    Gửi bởi soft4mac trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 01-12-2011, 08:49 AM
  4. Loại bỏ các dòng giống nhau trong textbox?
    Gửi bởi ncandy trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 02-03-2011, 03:50 PM
  5. Nên viết 1 dòng code dài trên 1 dòng hay trên nhiều dòng??
    Gửi bởi longtth trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 25-10-2010, 01:07 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