/*mo file input.txt tim max trong day so nguyen.txt*/
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
//mo file de doc
ifstream FileIn("INPUT.TXT");
if (!FileIn){
cout << "Khong tim thay tap tin INPUT.TXT" << endl;
system("pause");
return 0;
}
vector<int> arr;
int SoLuong;
FileIn >> SoLuong;
for (int i = 1; i <= SoLuong; i++){
int x;
FileIn >> x;
arr.push_back(x);
}
FileIn.close();
ofstream FileOut("OUTPUT.TXT");
int max = arr[0];
for (int i = 1; i <= arr.size(); i++){
if (arr[i] > max){
max = arr[i];
}
}
FileOut << max;
FileOut.close();
system("pause");
return 0;
}
Đọc lỗi này thì thấy là cách @tuantien8979 sử dụng vector bị sai. Sai ở chỗ là đã trỏ nhầm ra ngoài phạm vi của vector. Khi nào mình thấy chữ out of range là tự hiểu thế nhé.
Đọc vào code thì thấy thế này:
for (int i = 1; i <= arr.size(); i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
Sai ở chỗ:
i <= arr.size()
Sửa lại
i < arr.size()
Tuy nhiên cách dùng này không nên áp dụng đối với vector nhé. Hãy dùng iterator để code. @tuantien8979 xem các video về vector để hiểu cách dùng