Chào các bạn. Các bạn có thể xem giúp mình mình sai cái gì không bạn? Mình thắc mặc quá. Cám ơn bạn (hình ở dưới, có cả input và output)
Bài tập tìm max min trong mảng bị sai
bạn chép code rồi để vô cặp dấu 3 dấu huyền nhé … để tiện anh em xem và hổ trợ cho ban … xem cách dụng markdown ngoài trang chủ
Đây bạn
#include <bits/stdc++.h>
using namespace std;
ifstream fi("hehe.inp");
ofstream fo("hehe.out");
int main()
{
    int n, mi, ma;
    fi >> n;
    int x[n], y[n];
    for (int i=0; i<=n; i++)
    {
        fi >> x[n];
    }
    for (int i=0; i<=n; i++)
    {
        fi >> y[n];
    }
    ma = x[0]; mi = y[0];
    for (int i=0; i<=n; i++)
    {
        if (x[i] >= ma) ma=x[i];
    }
    for (int i=0; i<=n; i++)
    {
        if (y[i] <= mi) mi=y[i];
    }
    fo << ma << endl;
    fo << mi << endl;
    fi.close(); fo.close();
}
Bạn nên dùng
void open (const char* filename,  ios_base::openmode mode = ios_base::in);
để mở file, sau đó mới có thể dùng
fi >> n;
Hoặc nếu bạn muốn dùng constructor của ifstream, thì dùng theo kiểu thế này:
std::ifstream ifs ("test.txt", std::ifstream::in);
           
           
           1 Like
         
         Ok bạn. Nhưng bạn thấy bài trên code lỗi gì không bạn? Có cái hình input output ở trên. Mình xem hoài mà không biết lỗi ở đâu hết bạn 
int x[n], y[n];
trong C++ ko có kiểu khai báo mảng động này. Xài std::vector như mảng động.
vòng lặp từ i=0 tới i<=n là n+1 lần rồi. ví dụ n=3 thì i = 0, 1, 2, 3 là 4 lần rồi. Chạy tới i<n thôi.
#include <iostream>
#include <vector>
#include <fstream>
int main()
{
    std::ifstream fi("hehe.inp");
    if (!fi) //kiểm tra có mở được file hay ko
    { 
         std::cerr << "Cannot open file\n";
         return 1;
    }
    int n;
    fi >> n;
    std::vector<int> x(n); //thay vì viết int x[n];
    std::vector<int> y(n);
    for (int i = 0; i < n; i++) fi >> x[i];
    for (int i = 0; i < n; i++) fi >> y[i];
        
    fi.close(); //close file sau khi đọc xong
    // tìm min max, output ra fo...
}
           
           
           1 Like
         
          
      
    


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