I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
get GPL
COST (GBP)
this unit 0.99
sub units 0.00
+
0

sumif

Calculates the sum of elements in an array that satisfy a certain condition.
Controller: CodeCogs

Dependents

Info

Interface

C++

Overview

The components available with this module calculate the sum of elements in an array that satisfy a certain condition. The difference between the two functions consists in the way the condition is given.

Authors

Lucian Bentea (September 2005)

Sumif

 
template<class T> Tsumifintn
T*data
Tcmp
bool(*fctpnt)(const T&, const T&)[function pointer] )
This function calculates the sum of elements in an array that satisfy a certain predicate given as argument. The predicate is a user-defined function that takes as first argument each element of the array and as second argument the value of <em> cmp </em>. Three predicate functions are available with this module to provide basic relational operators, tests to see if two values are equal, or whether one is greater/lesser than the other.

Example 1

#include <iostream>
#include <codecogs/statistics/sumif.h>
int main()
{
  int x[12] = {3, 5, 1, 2, 6, 8, 10, 2, 2};
  std::cout << "The sum of elements equal to 2 is: ";
  std::cout << Stats::sumif<int>(12, x, 2, Stats::isEqual);
  std::cout << std::endl;
  std::cout << "The sum of elements greater than 3 is: ";
  std::cout << Stats::sumif<int>(12, x, 3, Stats::isGreater);
  std::cout << std::endl;
  std::cout << "The sum of elements less than 7 is: ";
  std::cout << Stats::sumif<int>(12, x, 7, Stats::isLess);
  std::cout << std::endl;
  return 0;
}

Output

The sum of elements equal to 2 is: 6
The sum of elements greater than 3 is: 29
The sum of elements less than 7 is: 21

Parameters

nthe number of elements in the data array
datathe input array
cmpthe value which is compared to all values in the input array through the predicate function
fctpntthe predicate function

Returns

the number of elements in the data array that satisfy the given predicate
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.


Sumif

 
intsumifintn
int*data
const char*cmp )
This function calculates the sum of <em> integers </em> in an array that satisfy a certain predicate given as argument. The predicate is given as a character string, with the following syntax: the first character is one of "=", "!", ">" or "<" to provide the relation that needs to be satisfied, where "!" means inequality. The next characters are used to specify the integer (signed or unsigned) to which the value of each element of the array is to be compared.

Example 2

#include <iostream>
#include <codecogs/statistics/sumif.h>
int main()
{
  int x[12] = {3, 5, 1, 2, 6, 8, 10, 2, 2};
  std::cout << "The sum of elements equal to 2 is: ";
  std::cout << Stats::sumif<int>(12, x, "=2");
  std::cout << std::endl;
  std::cout << "The sum of elements greater than 3 is: ";
  std::cout << Stats::sumif<int>(12, x, ">3");
  std::cout << std::endl;
  std::cout << "The sum of elements less than 7 is: ";
  std::cout << Stats::sumif<int>(12, x, "<7");
  std::cout << std::endl;
  return 0;
}

Output

The sum of elements equal to 2 is: 6
The sum of elements greater than 3 is: 29
The sum of elements less than 7 is: 21

Parameters

nthe number of elements in the data array
datathe input array of integers
cmpa string expression giving the condition that an element of the data array should satisfy

Returns

the number of elements in the data array that satisfy the given condition
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.