Mega Code Archive

 
Categories / C++ / Valarray
 

Valarray with double value inside

/* The following code example is taken from the book  * "The C++ Standard Library - A Tutorial and Reference"  * by Nicolai M. Josuttis, Addison-Wesley, 1999  *  * (C) Copyright Nicolai M. Josuttis 1999.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> #include <valarray> using namespace std; // print valarray line-by-line template<class T> void printValarray (const valarray<T>& va, int num) {     for (int i=0; i<va.size()/num; ++i) {         for (int j=0; j<num; ++j) {             cout << va[i*num+j] << ' ';         }         cout << endl;     }     cout << endl; } int main() {     /* valarray with 12 elements      * - four rows      * - three columns      */     valarray<double> va(12);     // fill valarray with values     for (int i=0; i<12; i++) {         va[i] = i;     }     printValarray (va, 3);     // assign 77 to all values that are less than 5     va[va<5.0] = 77.0;     // add 100 to all values that are greater than 5 and less than 9     va[va>5.0 && va<9.0] = valarray<double>(va[va>5.0 && va<9.0]) + 100.0;     printValarray (va, 3); } /*  0 1 2 3 4 5 6 7 8 9 10 11 77 77 77 77 77 5 106 107 108 9 10 11  */