I have implemented functions to find the max and min. But I get the error code below: [Error] invalid conversion from 'std::ios_base& (*)(std::ios_base&)' to 'int' [-fpermissive]
#include<iostream>
using namespace std;
int a[1000], n, maxDiff, maxValue, minValue;
void nhap() {
int i, n;
cout << "Nhap n: ";
cin >> n;
for ( int i =1; i <= n; i ++) {
cout << "Nhap vao mang thu i: " << i << endl;
cin >> a[i];
}
}
void findmaxdiff(int left, int right, int maxDiff, int& maxValue, int& minValue) {
int mid;
int maxD1, maxV1, minV1;
int maxD2, maxV2, minV2;
if(left==right) {
maxDiff = 0;
maxValue = a[right];
minValue = a[right];
}
else {
mid = (left +right) / 2;
findmaxdiff(left, mid, maxD1, maxV1, minV1);
findmaxdiff(mid+1, right, maxD2, maxV2, minV2);
maxDiff = maxV2 - minV1;
if(maxDiff< maxD1) maxDiff = maxD1;
if(maxDiff< maxD2) maxDiff = maxD2;
if(maxV1> maxV2){
maxValue= maxV1;
}
else {
maxValue = maxV2;
}
if(minV1< minV2) {
minValue = minV1;
}
else {
minValue= minV2;
}
}
}
int main() {
nhap();
findmaxdiff(left, n, maxDiff, maxValue, minValue);
cout << maxDiff;
}