Tìm số chẵn lớn nhất nhỏ hơn tất cả các giá trị lẻ có trong mảng 1 chiều

Mọi người chỉnh code giúp em với ạ, em bí ở phần trọng tâm của đề là ở hàm “alo”. Em cảm ơn.

#include <iostream>
using namespace std ;
void nhap (int a[100],int &sl) {
       cout << "\n nhap so luong phan tu: "; 
       cin >> sl; 
       for ( int i = 0; i<sl;i++) { 
         cout << "\n a["<<i<<"]= "; 
         cin >> a[i]; 
	   }
} 
        void alo (int a[100],int sl) { 
        int max; 
        for ( int i = 0; i<sl;i++) { 
        if (a[i]%2==0) {
        	max = a[i]; 
        	break; 
		}
	} 
	
      

   
int main() {
  int a[100],sl; 
  nhap (a,sl); 
  alo (a,sl); 
  return 0; 
}

Vậy phần này dùng làm gì ạ.

3 Likes

Ý là em nhờ mọi người chỉnh code ở phần đấy ạ

Do em không biết làm phần này ạ

Bây giờ vấn đề không phải là sửa thế nào mà là tại sao bạn lại viết cái vòng for đó vào. Một vòng for không để làm gì cả.
Bỏ tick solution đi :slight_smile:

Vâng em làm rồi ạ :smiley:

Thế bài này làm sao ạ :frowning:

Đề bài là tìm số chẵn lớn nhất nhỏ hơn tất cả các số lẻ. Ở chỗ này bạn chỉ là tìm số chẵn đầu tiên trong mảng.

Bây giờ mình chỉ bạn 1 hướng là tìm số lẻ nhỏ nhất trong mảng rồi tìm số chẵn trong mảng sau đó so sánh với số lẻ đó.

for(){
// Tìm số lẻ nhỏ nhất
}
for(){
    if(a[i] % 2 == 0){
         //So sánh a[i] với số lẻ nhỏ nhất. Blabla...
    }
}

Hãy nghĩ kĩ trước khi code. Đâm đầu vào code không phải cách tốt nhất để học lập trình. :slight_smile:

6 Likes

Em cảm ơn nhiều ạ :smiley:

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