Lỗi biên dịch trên dev c++báo lỗi close the program và check online

hôm qua mình vừa thi trên trường nhưng không biết vì sao khi chạy chương trình thì báo các lỗi trên nhưng khi mình về nhà code lại y hệt trên trường thì lại chạy được mình hoang mang vì chạy không được nên không làm được các câu sa luôn:
code của mình

#include<iostream>
using namespace std;
int nhapmang(int &n,int a[])
{
	do{
		cout<<"nhap so luong phan tu";cin>>n;
		
	}
	while(n>100);
	for(int i=0;i<n;)
	{
		cout<<"a["<<i<<"]";cin>>a[i];
	}
} 
int sochan(int n)
{
	if(n%2==0)
	{
		return 1;
	}
	return 0;
}
int main()
{
	int n,i,a[i];
	sochan(n);
	nhapmang(n,a);
}

Khi khai bảo mảng a bạn phải xác đinh số phần tử rõ ràng chứ không thể truyền biến i (khi biến này chưa khởi tạo giá trị gì). Sửa lại

int n, a[50];

Bạn cho mình hỏi nếu không khởi tạo giá trị như vậy nó có báo loi như trên mình xin cam ơn

thứ nhất: chưa khai báo số phần tử cho mẳng a.
thứ 2: chưa khai bái giá trị cho n thì mình đang không hiểu bạn gọi hàm sochan(n) làm gì
thứ 3: vòng lặp bạn để vậy thì nhập cả ngày cũng không hết được đâu, sẽ lần lượt cho vô a[0] hết đó :slight_smile:
thứ n: sai nhiều lỗi cơ bản qua, mình khuyên bạn nên học kĩ lại căn bản đi

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