簡體   English   中英

查找與另一個給定數字最接近的數組數

[英]Finding the closest number of array to another given number

我有這個程序要寫,我有一個由我輸入的 11 個數字的數組。 然后我需要找到這些數字的平均和,然后我要求找到這個數組中最接近平均和的數字,然后再次找到數組中最遠的元素到平均和。 到目前為止,我設法編寫了一個程序來創建這個數組並找到平均總和。 我認為這與 cmath libary 的 abs 函數有關,但到目前為止我只是沒能做到。

#include <iostream>


using namespace std;

int main() {


unsigned const int size = 11;
float number[size];

for (unsigned i = 0; i<size; i++) {
    cout << "Please enter value for number  "
        << i + 1 << ":";
    cin >> number[i];
}
for (unsigned i = 0; i<size; i++) {
    cout << "Number " << i + 1 << " is : "
        << number[i] << endl;
}
unsigned int sum = 0;
for (unsigned i = 0; i<size; i++) {
    sum += number[i];
}

問題是什么? 你不是在問問題,只是在發表聲明......看來你沒有發布整個代碼......

在 C++ 中,通常要使用“abs”,您應該使用“math.h”庫中的 fabs!

您可以使用比較運算符。 只需在循環中遍歷數組並計算比較值與數組上的當前值之間的差異。 啟動一個臨時變量,保留創建最小差異的數組條目。

每次出現小於當前差異的差異時,請替換臨時變量中的值。

因此,您在以下條件下進行替換: If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf

我希望你從那個草稿中得到這個概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM