簡體   English   中英

如何解決C ++中的編程問題

[英]How can I solve this median programming problem in C++

  1. 制定從五個唯一數字識別中位數的步驟,並在流程圖中將其可視化。
  2. 在從用戶獲得五個唯一數字后,開發一個顯示中位數的應用程序。
  3. 擴展功能,允許輸入六個唯一數字並計算中位數。

例:
輸入: 5 4 2 1 10
輸出: Median = 4

我在Walter Savitch的 C ++問題解決中找到了這個問題,但我無法解決。 誰能向我解釋?

嘗試提供家庭作業友好的建議:

1) 確保您知道如何獲得中位數 您能在腦海中還是在紙上找到答案? 現在,您如何編寫程序為您執行此操作? 制作流程圖

2)編寫程序來執行此操作。 用戶給您的程序5個數字,您的程序給出中位數作為答案。

3)使程序更好。 偶數個數字會更改方法以獲得中位數。 更改您的程序,以便它將允許6個數字。

3b)使您的程序接受任意數量的數字。 (我在您的帖子或書中未添加此內容,但如果您已經完成2和3,則應該非常容易做到)。

誰能向我解釋?

  1. “制定步驟”的意思是“解釋如何做”。 例如,假設您正在向我解釋如何解決該問題,不需要使用計算機(我想用鉛筆和紙來做),並且不知道該怎么辦“中位數”是。

  2. “開發應用程序”是指“編寫軟件”。 該軟件將需要:a)從用戶那里獲得五個號碼(並可能確保號碼“唯一”); b)找到“中位數”(使用您之前在步驟1中制定的步驟); c)顯示(輸出)發現的中位數。

  3. 您需要定義輸入數為偶數時“中位數”的含義,並相應地更改程序。

我知道沒有人要求使用STL給出答案,但這對以后來這里的人很有用。

在帶有STL的C ++中,有一個名為nth_element的函數,該函數帶有三個參數。 它將對容器進行足夠的排序以使第n個元素位於正確的位置。

一個例子:

int numbers[] = { 5, 4, 2, 1, 10 };
std::nth_element(numbers, numbers+2, numbers+5);
std::cout << numbers[2] << "\n";

暫無
暫無

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

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