//复数向量 找 最大元素 //整理 by RobinKin // #include "mtl/mtl.h" #include "mtl/utils.h" #include "mtl/linalg_vec.h" using namespace mtl; //begin typedef complex<float> c; typedef external_vec<c> Vec; //end /* Note: the Sun Perf Lib docs show the correct answer as item 1. This is incorrect. The correct answer is item 5.cvazac abs( (5,-4) ) = sqrt(5^2 + 4^2) = 6.40312 abs( (0, 8) ) = 8 Sample Output [(5,-4),(-3,-2),(5,-4),(6,0),(0,8),] Largest element in the vector x is item 5 */ int main() { //begin const int N = 5; c dx[] = { c(5,-4), c(-3,-2), c(5,-4), c(6,0), c(0,8) }; Vec x(dx, N); int imax = max_index(x); //end #if !defined(_MSVCPP_) && !defined(__sgi) || defined(__GNUC__) // VC++ and SGI CC do not have operator << defined for complex numbers print_vector(x); #endif std::cout << "Largest element in the vector x is item " << imax + 1 << std::endl; return 0; } 
|