Bibliothèque standard C++<valarray>
C++'s<valarray>La bibliothèque est une bibliothèque de calcul numérique, offrant un moyen efficace de gérer des tableaux numériques.<valarray>Dans la bibliothèquevalarrayLe modèle de classe permet aux programmeurs d'effectuer des opérations mathématiques élément par élément sur des tableaux, notamment l'addition, la soustraction, la multiplication, la division, etc. En outre, il prend également en charge des fonctions mathématiques plus avancées telles que l'exponentielle, le logarithme, le sinus, le cosinus, etc.
valarrayIl s'agit d'un modèle de classe de la bibliothèque standard C++ utilisé pour représenter et manipuler des tableaux numériques. Il fournit un moyen pratique d'effectuer des opérations élément par élément sur des tableaux.
Syntaxe
valarrayLa syntaxe de base est la suivante :
#include <valarray>
int main() {
std::valarray<double> va(10); // 创建一个包含10个double元素的valarray
va = 1; // 将所有元素初始化为1
// ...
return 0;
}
Exemple
1. Créer et initialiser un valarray
Exemple
#include <valarray>
int main() {
std::valarray<double> va(5); // Créer un valarray contenant 5 éléments double
va = {1.0, 2.0, 3.0, 4.0, 5.0}; // Initialiser valarray
for (auto i : va) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Sortie :
1 2 3 4 5
2. Opérations de base
Exemple
#include <valarray>
int main() {
std::valarray<double> va1(5), va2(5);
va1 = {1.0, 2.0, 3.0, 4.0, 5.0};
va2 = {2.0, 3.0, 4.0, 5.0, 6.0};
std::valarray<double> sum = va1 + va2; // Addition
std::valarray<double> diff = va1 - va2; // Soustraction
std::valarray<double> prod = va1 * va2; // Multiplication
std::valarray<double> quot = va1 / va2; // Division
std::cout << "Somme: ";
for (auto i : sum) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Différence: ";
for (auto i : diff) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Produit: ";
for (auto i : prod) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Quotient: ";
for (auto i : quot) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Sortie :
Sum: 3 5 7 9 11 Difference: -1 -1 1 1 -1 Product: 2 6 12 20 30 Quotient: 0.5 0.6666667 0.75 0.8 0.8333334
3. Utilisation de valarray pour les opérations de fonctions mathématiques
Exemple
#include <valarray>
#include <cmath>
int main() {
std::valarray<double> va(5);
va = {1.0, 2.0, 3.0, 4.0, 5.0};
std::valarray<double> squares = va * va; // Carré
std::valarray<double> roots = std::sqrt(va); // Racine carrée
std::cout << "Carrés : ";
for (auto i : squares) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "Racines carrées : ";
for (auto i : roots) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Sortie :
Squares: 1 4 9 16 25 Square Roots: 1 1.4142136 1.7320508autres extensions