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 ạ.
Xây dựng một hàm bool để xét trong mảng có số nguyên âm hay không
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”
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.