Code bài tập liên quan nhập xuất tệp bị dính Time Limit Exceed


code của mình:

    void grade10(const char* path)

ifstream file(path);
string trash, s1, s2;
double score, score1;
while (!file.eof()) {
      string s;
      getline(file, s);
      
      getline (file, trash, ',');
      getline (file, s1, ',');
      getline (file, s2, ',');
      getline (file, trash, ',');
      file >> score >> trash >> score1 >> trash;
      
      if (score1 == 10){
      string ten = s1 + " " + s2;
      cout << ten << endl;}
  }

Khi chạy không ra đáp án đúng, tự debug mãi không được.

Dòng getline đầu tiên trong vòng lặp có nghĩa gì vậy bạn???
Rồi bạn có hiểu file>>trash nó sẽ đọc những gì không?

1 Like

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

theo em hiểu thì getline (file, s, c) là đọc chuỗi s từ file đến khi gặp ký tự c thì dừng lại, và lệnh tiếp theo sẽ bắt đầu từ ký tự sau ký tự c trong file
(cái này em không rõ lắm, tức là chuỗi s được lưu trữ có chứa phần tử c không ạ? nếu không thì dùng lệnh getline như trên là loại bỏ hoàn toàn ký tự c à)
chắc getline(file, s) phải để trước vòng lặp while, và sai cả chỗ file trash
em sửa lại thì đã được, cảm ơn nhiều ạ

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?