Xây dựng một hàm bool để xét trong mảng có số nguyên âm hay không

Cho e hỏi cách để xây một hàm xét xem trong mảng đó có số nguyên âm không nếu có thì xuất ra màn hình trong mảng đó có số nguyên âm như thế nào ạ.

Vòng lặp cho cái mảng đấy, gặp thằng nào bé hơn không thì in ra, không thì thôi.

2 Likes
bool timGTSoAm (int a[], int n)
{
	for (int i = 0; ; i++)
	{
		if( a[i] < 0)
		{
			return true;
			break;
		}
		else
			{
				return false;
				break;
		}
	}
}

e tính xét ntn nhưng suy cho cùng thì nó vẫn không hợp lý.

Mục đích của bạn là kiểm tra trong mảng có tồn tại số âm hay là in ra các số âm trong mảng vậy?

Không hợp lý là đúng.
Ngay số đầu tiên đã trả về rồi, đâu có kiểm tra hết mảng đâu.

2 Likes

Quả thật là không hợp lí. Đối (not) của lượng từ “tất cả” là lượng từ “tồn tại” :smiley:

2 Likes

Bạn dùng else như vậy tức là sai. Hàm của bạn là hàm kiểm tra số đầu tiên có phải là số âm không, nó return luôn từ khối else rồi.

bool func1(int a[], int n)
{
	for (int i = 0; i < n; i += 1)
		if (a[i] < 0)
			return true;
		//else
			//doNothing();

	//Nếu chạy hết vòng for vẫn chưa return true, tức là vẫn chưa có số âm thì bước này mới được chạy vào
	return false;
}
3 Likes

@Won bạn gặp lỗi logic cơ bản. Nếu xét vậy thì vòng lặp của bạn chỉ chạy một vòng duy nhất. Vòng lặp sẽ kết thúc ngay.
tham khảo code của bạn @noz1995 sẽ hiểu.

2 Likes

E hiểu r ạ ^^ e cám ơn mn nhìu.

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