FUNCTION
lookup
Array namespace
Interface
#include <codecogs/computing/array/lookup.h>
using namespace Computing::Array;
This function looks up a value in the given vector. When value is found in the lookup vector, the function returns the corresponding value from the result vector. It is equivalent to the vector form of the Microsoft Excel function LOOKUP. If the parameter sorted is set to true, then this function uses a binary search approach to find the value in lookup. If an exact match cannot be found then it returns the next largest value.
The two vectors lookup and result must be of equal length.
Example:
#include <vector>
#include <iostream>
#include <stdio.h>
#include <codecogs/computing/array/lookup.h>
using namespace std;
int main()
{
vector<double> rowA;
vector<char> rowB;
rowA.push_back(-2.3);
rowA.push_back(1.37);
rowA.push_back(1.54);
rowA.push_back(2.02);
rowA.push_back(2.17);
rowB.push_back('a');
rowB.push_back('b');
rowB.push_back('c');
rowB.push_back('d');
rowB.push_back('e');
cout<<"lookup vector:\n";
for (unsigned int i=0; i<rowA.size(); i++) cout<<rowA[i]<<"\t";
cout<<"\n";
cout<<"result vector:\n";
for (unsigned int i=0; i<rowB.size(); i++) cout<<rowB[i]<<"\t";
cout<<"\n";
cout<<"lookup 1.37=";
cout<<Array::Search::lookup<double, char>(1.37, rowA, rowB);
cout<<"\n";
cout<<"lookup 1.36=";
cout<<Array::Search::lookup<double, char>(1.36, rowA, rowB);
cout<<"\n";
cout<<"lookup 1.36 (sort=false)=";
cout<<Array::Search::lookup<double, char>(1.36, rowA, rowB, false);
cout<<"\n";
cout<<"lookup 2.01=";
cout<<Array::Search::lookup<double, char>(2.01, rowA, rowB);
cout<<"\n";
}Output:
lookup vector:
-2.3 1.37 1.54 2.02 2.17
result vector:
a b c d e
lookup 1.37=b
lookup 1.36=a
lookup 1.36 (sort=false)=?
lookup 2.01=c
Parameters
value
the value to search for in lookup
lookup
a vector of values
result
a vector of values
sorted
indicated is the data lookup vector is sorted.
Returns
the result value from the result vector
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.