runoob_14_valarray

/*
 * @Author: by777
 * @Date: 2025-03-24 11:34:22
 * @LastEditors: by777
 * @LastEditTime: 2025-03-24 11:54:18
 * @FilePath: /cxx_stl/runoob_14.cpp
 * @Description: https://www.runoob.com/cplusplus/cpp-libs-valarray.html
 * 
 * Copyright (c) 2025 by by777, All Rights Reserved. 
 */
#include <iostream>
#include <valarray> //<valarray> 库是一个用于数值计算的库,它提供了一种高效的方式来处理数值数组
#include <vector>

int main(int argc, const char** argv) {

    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; // 加法
    std::valarray<double> diff = va1 - va2; // 减法
    std::valarray<double> prod = va1 * va2; // 乘法
    std::valarray<double> quot = va1 / va2; // 除法

    std::cout << "Sum: ";
    for (auto i : sum) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Difference: ";
    for (auto i : diff) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    std::cout << "Product: ";
    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;

    {
        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; // 加法
        std::valarray<double> diff = va1 - va2; // 减法
        std::valarray<double> prod = va1 * va2; // 乘法
        std::valarray<double> quot = va1 / va2; // 除法

        std::cout << "Sum: ";
        for (auto i : sum) {
            std::cout << i << " ";
        }
        std::cout << std::endl;

        std::cout << "Difference: ";
        for (auto i : diff) {
            std::cout << i << " ";
        }
        std::cout << std::endl;

        std::cout << "Product: ";
        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;
}
posted @ 2025-03-25 10:46  白柒  阅读(32)  评论(0)    收藏  举报