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

Đề tài: [C++]Các pác xem hộ em cái này

  1. #1
    No Avatar
    N.T.M Khách

    Mặc định [C++]Các pác xem hộ em cái này

    Vấn đề em đang thắc mắc hiện nay là so sánh chuỗi ,vd em có 1 bài tập sau đây :
    "Viết 1 chương trình đọc vào 1 tập tin văn bản ,đếm số lần xuất hiện của 1 chuỗi(nếu có) trong tập tin và hiển thị ra màn hình .Tên tập tin và chuỗi cần tìm được nhập từ bàn phím"
    Phần nhập thì em làm được nhưng phần đếm số lần xuất hiện thì bó tay :| ,ko biết làm sao để so sánh 2 chuỗi ,các pác xem giúp em .

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    trước sau là 'space' thì được xác định là một chuỗi trong văn bản. Cần phải xem xét cách thức viết dấu thê nào.
    Ví dụ : cần tìm từ "đây" nhưng trong văn bản có từ "đây." hoặc "đây!" >> có thể coi như là không thấy hoặc viết hàm loại bỏ kí tự đặc biệt đứng trước và sau một từ.
    Nếu gặp dấu "space" thì quay lại vị trí tiêp theo dấu "space" trước. pointer nó vào để lấy giá trị từng chữ cái đem so sánh lần lượt với kí tự trong chuỗi cần tìm. Nếu đúng thì count++;
    Tiếng việt hơi kém không biết có đúng ý bạn muốn hỏi không ^_^!
    None!

  3. #3
    No Avatar
    N.T.M Khách

    Hix ,cái bài này được ra trước khi học chương pointer nên em ko muốn xài pointer mà xài vòng lập ,pác xem giùm em cái code này ,sao nó chạy ko đúng
    Code:
    #include <iostream.h>
    #include <fstream.h>
    int main()
    {
    	char filename [30];
    	char datasearch [30];
    	cout <<"Nhap vao ten file :";
    	cin.getline(filename,30);
    	cout <<"Nhap vao chuoi can tim :";
    	cin.getline(datasearch,30);
    
    	ofstream output;
    	output.open("Test.txt");
    	output << datasearch;
    	output.seekp(0, ios::end);
    	int y = output.tellp();
    	output.close();
    
    	int x = 0;
    	int z = 0;
    
    	char data [30];
    	ifstream input;
    	input.open(filename);
    	while(input >> data)
    	{
    		for(int i = 0;i < 30;i++)
    		{
    			for(int j = 0;j < 30;j++)
    			{
    				if(data[i] == datasearch[j])
    					x++;
    				else
    					break;
    			}
    		}
    	if(y == x)
    	{
    		z++;
    	}
    	x = 0;
    
    	}
    	input.close();
    
    	if(z > 0)
    	{
    		cout <<"Tim thay chuoi" << datasearch << endl;
    		cout <<"So lan xuat hien cua chuoi la " << z << endl;
    	}
    	else
    		cout <<"Khong tim thay chuoi" << endl;
    
    	return 0;
    }
    Với file tạo trước là Demo.txt chứa nội dung của chuỗi .

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