請教乙個簡單的演算法問題(用VC實現)

2025-01-21 04:40:20 字數 1214 閱讀 3470

1樓:

#include

using namespace std;

#define count 6 //陣列長度。

#define max 31 //和的最大值。

int main()

int num[count]; 用來存原始的陣列。

int store[2*count-1]=;存處理後的陣列。

int i,j,k,total;

cout<<"請輸入資料("cout<<"你輸入的資料為:";

for (i=0; imax)

store[j++]max+1;

total=0;

elsestore[j++]num[i++]cout<<"堆1:";

for(i=0,k=2;iif(store[i]==max+1)

cout<<"堆"稍微解釋一下:

程式裡面的陣列大小及和的上限可以在程式前面3,4行改。

store陣列用來存原始資料和標記,在每兩個相鄰的標記間的數就是乙個堆,我用max+1來做,因為原始輸入資料的每個值都不會超過max。

以11,15,21,8,17,20為例,store中存的資料為11,15,32,21,8,32,17,32,20...後面全為零);至於store為什麼要去count*2-1是因為極限情況是乙個數一堆。

輸入資料可能會超過max,我這裡沒加對輸入資料的校驗,加的話也就寫個if判斷就行了。

2樓:

這個演算法題目的名稱叫什麼?

乙個c++中的演算法問題

3樓:網友

如果距離已知是d,區間大小是e,是否要尋找一組數字(a,b,c),使得d-(a*1+b*如果是,只要用貪心演算法即可。

4樓:網友

沒看明白你的意思,請說清楚一些你要做什麼?

vc++這個演算法怎麼錯了

5樓:網友

首先scanf輸入的時候是用 % 不是用的#,第二,賦值的時候要用取位址符號&。

第三,如果scanf中%d是連著寫的如「%d%d%d」,在輸入資料時,資料之間不可以用逗號分隔,只能用空白字元(空格或tab鍵或者回車鍵)分隔——「2 (空格)3(tab) 4」 或 「2(tab)3(回車)4」等。若是「%d,%d,%d」,則在輸入資料時需要加「,」如「2,3,4」。

非常簡單的一個問題 很簡單的一個問題

1 沒有完全拒絕你了 2 她很看中你和她的愛情,要慢慢考慮,這也許是她的性格吧 3 在說這句話時問了你很多吧?如果是的話還是有機會的。祝你好運了!慢慢等吧,他也發愁怎麼說呢,不好意思。我的也是,她的時間更長,等我考試完以後再說,我馬上就要轉升本考試了,不過告訴你,很簡單的一個問題,就是很簡單的一個 ...

簡單的問題,一個簡單的問題

華盛頓作為美國首都,城市範圍與哥倫比亞特區相同。面積6094平方公里,人口1980年就達到3061021了。東京是世界級的大城市,一般說得東京市是指東京23區,即它的大城市部分。但實際上東京作為一個行政區,在日本叫東京都,包括三大部分 東京23區 多摩地區 太平洋諸島。這些島包括伊豆群島 小笠原群島...

考研問題請教,請教一個問題

如果真的想拿一個研究生證的話,可以直接考本部院校。還有就是和你選擇的專業有關係,看你本部院校的專業是不是強項專業。這樣就好了啊 有考研的學長學姐嗎,請教一個問題 建議你可以在群裡面或是貼吧上面直接寫出你的問題,看到的學長學姐一定會回答你的。有很多啊,你最好把你的專業,想要報考的學校都說一下,大家才好...