Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template<class T>
- T sum(T iA, T iB)
- {
- return iA + iB;
- }
- template<class T>
- T prod(T iA, T iB)
- {
- return iA * iB;
- }
- template<class T>
- T minus(T iA, T iB)
- {
- return iA - iB;
- }
- template<class T>
- void matrixes(T *tResult[5], int& tElements)
- {
- T (*fct[3])(T a, T b) = {sum, minus, prod};
- cout << "How many elements do you wish to process? > ";
- cin >> tElements;
- for (int i = 0; i < 5; i++) {
- tResult[i] = new T[tElements];
- }
- cout << "Enter two elements on each line!" << endl;
- for (int i = 0; i < tElements; i++) {
- cout << "Enter 2 elements: > ";
- cin >> tResult[0][i] >> tResult[1][i];
- cin.clear();
- }
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < tElements; j++) {
- tResult[i+2][j] = fct[i](tResult[0][j], tResult[1][j]);
- }
- }
- }
- int main()
- {
- double *d[5];
- int iElements = 0;
- char cOperator[] = "+-*";
- matrixes(d, iElements);
- for (int j = 0; j < 3; j++) {
- for (int i = 0; i < iElements; i++) {
- cout << setw(3) << d[0][i] << cOperator[j] << setw(3) << d[1][i] << " = " << setw(4) << d[j + 2][i] << endl;
- }
- }
- // free allocated resources
- for (int i = 0; i < 5; i++) {
- delete [] d[i];
- d[i] = NULL;
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement