Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Cómo utilizar la función sqrt STL y la función pow STL en C++

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 157942
Nota : Visual C++ (2002) NET admitía ambos el modelo de código administrado proporcionado por .NET Framework y el no administrado nativo de Windows modelo de código. La información de este artículo se aplica a Visual C++ no administrado sólo código.
Resumen
El código de ejemplo siguiente muestra cómo usar la STL funciones sqrt y pow en C++.
Más información

Encabezado necesario

   <valarray>   <cmath>				

Prototipo

   // sqrt   template<class T>   inline valarray<T> sqrt(const valarray<T>& x);   // pow   template<class T>   inline valarray<T> pow(const valarray<T>& x, const valarray<T>& y);   template<class T>   inline valarray<T> pow(const valarray<T> x, const T& y);   template<class T>   inline valarray<T> pow(const T& x, const valarray<T>& y);				
Nota : los nombres de clase o parámetro en el prototipo no coincida con la versión en el archivo de encabezado. Algunas se han modificado para mejorar la legibilidad.

Descripción

Este artículo muestra el uso de STL sqrt() y pow() funciones mediante código de ejemplo. SQRT() devuelve un objeto de clase <valarrayt>, cada cuyos elementos en el índice es la raíz cuadrada de x [I]. pow() tiene tres funciones de plantilla. La primera función de plantilla devuelve un objeto de clase valarray <t>, cada una de las cuyos elementos índice es x [I] elevado a la potencia de y [I]. La segunda función de plantilla se almacena en elemento que se x [I] elevado a la potencia de y. La tercera función de plantilla almacena en el elemento x elevado a la potencia de y [I].

Código de ejemplo

////////////////////////////////////////////////////////////////////// // // Compile options needed: /GX// // main.cpp : Illustrates the use of STL sqrt() and pow() functions.// // Functions:// //    sqrt, pow// // Written by Yeong-Kah Tam// of Microsoft Product Support Services,// Copyright (c) 1996 Microsoft Corporation. All rights reserved.////////////////////////////////////////////////////////////////////// #include <iostream>                 // for i/o functions#include <valarray>                 // for valarray#include <cmath>                    // for sqrt() and pow()#if _MSC_VER > 1020   // if VC++ version is > 4.2   using namespace std;  // std c++ libs implemented in std   #endif#define ARRAY_SIZE  3               // array sizevoid main(){    // Set val_array to contain values 1, 4, 9 for the following test    valarray<double> val_array(ARRAY_SIZE);    for (int i = 0; i < ARRAY_SIZE; i++)        val_array[i] = (i+1) * (i+1);    // Display the size of val_array    cout << "Size of val_array = " << val_array.size() << endl;    // Display the values of val_array before calling sqrt() and pow().    cout << "The values in val_array:" << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << val_array[i] << "    ";    cout << endl << endl;    // Initialize rev_valarray that is the reverse of val_array.    valarray<double> rev_valarray(ARRAY_SIZE);    for (i = 0; i < ARRAY_SIZE; i++)        rev_valarray[i] = val_array[ARRAY_SIZE - i - 1];    // Display the size of rev_valarray.    cout << "Size of rev_valarray = " << rev_valarray.size() << endl;    // Display the values of rev_valarray.    cout << "The values in rev_valarray:" << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << rev_valarray[i] << "    ";    cout << endl << endl;    // rvalue_array to hold the return value from calling the sqrt() and    // pow() functions.    valarray<double> rvalue_array;    // ----------------------------------------------------------------    // sqrt() - display the content of rvalue_array    // ----------------------------------------------------------------    // Display the result of val_array after calling sqrt().    rvalue_array = sqrt(val_array);    cout << "The result of val_array after calling sqrt():" << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << rvalue_array[i] << "     ";    cout << endl << endl;    // ----------------------------------------------------------------    // pow() - display the content of rvalue_array    // ----------------------------------------------------------------    // This template function returns an object of class valarray<T>,    // each of whose elements at I is x[I] raised to the power of y[I].    rvalue_array = pow(val_array, rev_valarray);    cout << "The result after calling pow(val_array, rev_valarray):"         << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << rvalue_array[i] << "     ";    cout << endl << endl;    // This template function stores in element I x[I] raised to the    // power of y, where y=2.0.    rvalue_array = pow(val_array, 2.0);    cout << "The result after calling pow(val_array, 2.0):" << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << rvalue_array[i] << "     ";    cout << endl << endl;    // This template function stores in element I x raised to the    // y[I] power, where x=2.0.    rvalue_array = pow(2.0, val_array);    cout << "The result after calling pow(2.0, val_array):" << endl;    for (i = 0; i < ARRAY_SIZE; i++)        cout << rvalue_array[i] << "     ";    cout << endl << endl;}				

Salida de programa

Size of val_array = 3The values in val_array:1    4    9Size of rev_valarray = 3The values in rev_valarray:9    4    1The result of val_array after calling sqrt():1     2     3The result after calling pow(val_array, rev_valarray):1     256     9The result after calling pow(val_array, 2.0):1     16     81The result after calling pow(2.0, val_array):2     16     512				
Referencias
Para la misma información acerca de sqrt y pow, visite el siguiente sitio Web de MSDN:
http://msdn.microsoft.com/en-us/library/awbsh9hw.aspx
STL STLSample sqrt pow

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 157942 - Última revisión: 08/11/2005 03:00:56 - Revisión: 5.1

The Standard C++ Library

  • kbmt kbhowto kbsample kbcode kbinfo kbstl kbtemplate KB157942 KbMtes
Comentarios
ld(m);