Anh/chi giup đỡ bài tập này em đang làm được một nửa rồi nhưng hết ý tưởng đây là bài tập khó của thầy nguyễn tấn trần minh khang
đề cho mảng một chiều các số nguyên hãy viết hàm tìm giá trị chẵn lớn nhất nhỏ hơn mọi giá trị lẻ có trong mảng:
#include<iostream>
#define max 100
using namespace std;
void nhapmang(int &n,int a[max])
{
cout<<"nhap so luong phan tu mang:";cin>>n;
for(int i=0;i<n;i++)
{
cout<<"a["<<i<<"]:";cin>>a[i];
}
}
int kiemtrachan(int n)
{
if(n%2!=0)
{
return 0;
}
return 1;
}
int kiemtrale(int n)
{
if(n%2==0)
{
return 0;
}
return 1;
}
int xuly(int n,int a[max],int &chan2)
{
int chan,le;
int i,dem=0,dem2=0,vitri;
for(int i=0;i<n;i++)
{
if(kiemtrachan(a[i])==1)
{
chan=a[i];
dem++
break;
}
}
for(i=0;i<n;i++)
{
if(kiemtrale(a[i])==1)
{
dem2++;
le=a[i]; // tim le bat ky o trong mang
break;
}
}
if (dem2==0||dem==0)
{
return 0;
}
for(i=0;i<n;i++)
{
if(kiemtrale(a[i])==1)
{
le=(a[i]<le?a[i]:le); // tim min le
}
}
for(i=0;i<n;i++)
{
if(kiemtrachan(a[i])==1)
{
chan=(a[i]>chan)?a[i]:chan; //tim max chan
}
if(chan<le)
{
chan2=a[i];
}
}
return chan2;
}
int main()
{
int n,a[max],chan2;
nhapmang(n,a);
xuly(n,a,chan2);
int x=xuly(n,a,chan2);
cout<<" "<<x;
}