30/09/2018, 18:09

Xin hỏi về bài tập tìm max min trong C++

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)

Nguyễn Chí Cần viết 20:22 ngày 30/09/2018

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ủ

Nguyễn Cát Long Huy viết 20:11 ngày 30/09/2018

Đâ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();
    }
... viết 20:23 ngày 30/09/2018

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);
Nguyễn Cát Long Huy viết 20:26 ngày 30/09/2018

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

Độc Cô viết 20:20 ngày 30/09/2018

Cuộc đời cần lắm những coder và training

include
include
int main()
{
int i =4;
cout<< "hello world! I am nuberer < i << endl;
}


indent preformatted text by 4 spaces

viết 20:22 ngày 30/09/2018

int x[n], y[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...
}
Bài liên quan
0