计算具有一个输入参数的向量的平均值并找到以下向量的平均值:[1 2 3 4 5 6] [关闭]

Posted

技术标签:

【中文标题】计算具有一个输入参数的向量的平均值并找到以下向量的平均值:[1 2 3 4 5 6] [关闭]【英文标题】:calculate the average of a vector with one input argument and find the average of the following vector: [ 1 2 3 4 5 6 ] [closed] 【发布时间】:2021-06-16 19:56:44 【问题描述】:

如何用 javascript 解决这个问题?给我一个更好的解决方案。谁来帮帮我。我对向量感到困惑。它的输入需要一个参数

#include <iostream>
#include <stream>
#include <vector>

using namespace std;

int main() 

ifstream numbers;
numbers.open("G:\\numbers.dat"); // just a file of 10 integers.
int i;
vector<float> vectors;

while(numbers >> i) 
    vectors.push_back(i);


for(int n=0; n < vectors.size(); ++n )
    cout << vectors[n] << endl;


int avg;
for(int k=0; k < vectors.size(); ++k)
    // not sure what to put here basically.
    cout << avg << endl;



numbers.close();

return 0;

【问题讨论】:

为什么是javascript? @NinaScholz 我不能用 javascript 来做。我想用javascript解决它。 developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/… 战术说明:计算平均值时不需要容器。只需对给出的值求和,并计算总和的项目数,以便您可以将总和除以最后的计数。 "如何在不使用 php 的情况下解决这个问题?" - 然后你编写 C++ 代码但想要 javascript? 【参考方案1】:

这是你在 JS 中的做法:

arr = [1, 2, 3, 4, 5, 6]
console.log(arr.reduce((a, b) => a + b, 0) / arr.length)

以下是您在 C++ 中的操作方式:

#include <iostream>  
#include <iterator>  
#include <numeric>   

int main() 
  const int arr[] = 1, 2, 3, 4, 5, 6;
  std::cout << 
      std::accumulate(std::begin(arr), std::end(arr), 0.0) / std::size(arr) << '\n';

这是你在 C 中的做法:

#include <stddef.h>
#include <stdio.h>

int main() 
  const int arr[] = 1, 2, 3, 4, 5, 6;
  const size_t size = sizeof(arr) / sizeof(*arr);
  double sum = 0;
  for (size_t i = 0; i < size; ++i) sum += arr[i];
  printf("%.2f\n", sum / size);

以下是您在 Python 中的操作方式:

arr = [1, 2, 3, 4, 5, 6]
print(sum(arr)/len(arr))

这是你在 Rust 中的做法:

fn main() 
    let arr = [1, 2, 3, 4, 5, 6];
    let sum : i32 = arr.iter().sum();
    println!("", sum as f64 / arr.len() as f64);

这是你在 golang 中的做法:

package main

import (
    "fmt"
)

func main() 
    arr := []int1, 2, 3, 4, 5, 6;
    sum := 0.0;
    for _, n := range arr 
        sum += float64(n);
    
    
    fmt.Printf("%f\n", sum / float64(len(arr)));

以下是如何在 C# 中执行此操作:

using System.Linq;
                    
public class Program

    public static void Main()
    
        var arr = new int[]1, 2, 3, 4, 5, 6;
        System.Console.WriteLine(arr.Average());
    

以下是在 Java 中的操作方法:

import java.util.Arrays;

public class Main 

    public static void main(String[] args) 
        int[] arr = 1, 2, 3, 4, 5, 6;
        System.out.println(getAverage(arr));
    

    public static double getAverage(int[] arr) 
        return Arrays.stream(arr)
                .average()
                .getAsDouble();
    

以下是您在 Kotlin 中的操作方式:

fun main() 
    val arr = arrayOf(1, 2, 3, 4, 5, 6);
    println(arr.average());

这是在 Ruby 中的操作方法:

arr = [1, 2, 3, 4, 5, 6];
average = arr.sum(0.0) / arr.size;
puts average;

以下是您在 Swift 中的操作方式:

let arr = [1, 2, 3, 4, 5, 6]
let sum = arr.reduce(0)  $0 + $1 
let average = Double(sum) / Double(arr.count)

print(average)

【讨论】:

以上是关于计算具有一个输入参数的向量的平均值并找到以下向量的平均值:[1 2 3 4 5 6] [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改向量中元素的值?

两个数据帧的数组列的平均值并在pyspark中找到最大索引

单词嵌入的语义加权平均值

R:如何计算截断正态分布的均值和协方差

初始化向量 (C++)

使用Python,Open3D对点云散点投影到面上并可视化,使用3种方法计算面的法向量及与平均法向量的夹角