Write a C++ function leastDifference that finds the least difference between any two elements of an array. For Example:
Array: 20 24 30 45 32 19
Least Difference: 2 between 30 and 32)
Answer:
#include<iostream>
using namespace std;
//leastDifferenc
int leastDifference(int arr[], int a, int b, int len){
bool val1=false;
bool val2=false;
for(int i=0; i<len; i++){
if(a==arr[i])
val1=true;
if(b==arr[i])
val2=true;
}
if(val1==false || val2==false){
return -999999;
}
int maxVal;
int minVal;
if(a>b)
{ maxVal=a; minVal=b;}
else
{ maxVal=b; minVal=a;}
int leastDiffer=0;
for(int i=maxVal-1;i>=minVal;i--){
++leastDiffer;
}
return leastDiffer;
}
//MAIN
int main(){
int arr[]={20, 40, 56, 32};
int len = sizeof(arr)/sizeof(int);
cout<<leastDifference(arr, 20,56, len);
}
Comments
Post a Comment