首页 > 解决方案 > 计算具有一个输入参数的向量的平均值并找到以下向量的平均值: [ 1 2 3 4 5 6 ]

问题描述

我怎样才能用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;

}

标签: javascriptc++arraysvectorstdvector

解决方案


以下是你在 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 := []int{1, 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)

推荐阅读