Tìm số nguyên tố trong mảng

array[i] là các giá trị phần tử mảng
vòng lăp j dùng để kiểm tra số nguyên tố
còn array[i] %j em viết sai

vậy bạn xem thử, trong đoạn kiểm tra array[i] có phải là snt hay không, thì n có vai trò là gì, tại sao lại duyệt j theo n?

n đóng vai trò để duỵet các phần tử trong mảng
vì em đặt j =2 để xét j đi từ 2 đến n
nếu n%j ==0 có nghĩa là n ko phải số nguyên tố
ngược lại nó là số nguyên tố

duyệt j = 2 đến n, kiểm tra n% j == 0, là để kiểm tra n có phải snt hay không, vậy để kt array[i] có phải là snt hay không thì duyệt j như thế nào

j=2 j<a[i] j++
a[i]%j==0
thì không phải số nguyên tố

rồi, áp dụng ngược vào bài
xem bạn đã làm đúng như vậy hay chưa, nếu chưa thì fix lại.
Với lại là với mỗi array[i], phải reset lại biến c, đánh dấu nó lại, chứ nếu không thì nó sẽ giữ kết quả của lần kiểm tra trước

i chạy từ 0 đến n, j chạy từ 2, với điều kiện j < a[i]. Với trường hợp a[0] = 2 thì vòng lặp không xảy ra, vậy phải xét riêng trường hợp <= 2.

Bai toán của bạn cần thêm điều kiện ( n phải lớn hơn 0)
với lại vòng for chỉ cần chạy tới căn 2 của nó thôi.

if (n <= 0){
		cout << "so luong > 0 ";
	}
	else {
		bool test;
		for(int i =0; i < n; i++){
			if (arr[i] <= 2)
				continue;
			else {
				test = true;
				for(int j = 2; j <= sqrt((double)arr[i]); j++){
					if(arr[i] % j == 0){
						test = false;
						break;
					}
				}
				if(test)
					cout << arr[i] << "\t";

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