問題:找到s陣列中的最大值和次大值對應y陣列的最大值和次大值,且找到的y的最大值和次大值之差不能小於10,否則,尋找s陣列中排行老三的元素的索引對應y陣列的元素,再和s陣列最大元素索引對應y陣列元素比較,如果他們之差小於10 ,繼續尋找s陣列排行老四的元素對應y陣列的元素,直到找到滿足條件或者遍歷陣列所有元素為止。比如下面的陣列中,s陣列的最大值和次大值分別是51和50,對應y陣列的最大值和次大值為30和32,但是y對應的最大值和次大值之差為2,不符合要求,然後在y陣列中繼續尋找下乙個次大的數,也就是48,在y陣列中對應為19,30-19>10滿足條件,所以最後輸出的就是30和19。以上就是需求.
實現思路
1、將找到的s陣列中最大的數索引對應的y陣列的值,儲存到乙個陣列a中實現過程2、s陣列中最大的數用陣列中最小的數減1替換
3、從替換的陣列中再次尋找s陣列最大的數的索引對應的y陣列的值
4、比較a陣列的首個元素和第三步得到的數,如果滿足條件,退出迴圈,否則知道遍歷所有的元素才退出迴圈
實現結果
後記:其實程式中的陣列是沒有必要建立的,每次迴圈之後都會重新整理掉,但是每次比較都是使用a陣列的0號元素。剛學labview沒有找到更合適的方法了[捂臉]
合併兩個陣列
include using namespace std int sortedinsert int a,int lena,int b,int lenb else printf d n a indexnew printf here lena d,lenb d n indexa,indexb indexn...
兩個陣列之和
題目描述 給定兩個亂序陣列,長度分別為m,n,要求列印出和最大的k個數,和是由兩個陣列中各乙個陣列相加而得。輸入 每行數字短橫符 分割兩個陣列,冒號分割 引數k輸出 輸出為和最大得k個數,和是兩個陣列中各乙個數相加而得。樣例輸入 2,4,1,7,7 3,2,5,6,1,9 6 樣例輸出 16,16,...
交換兩個陣列值使兩個陣列之差最小
有兩個序列a,b,大小都為n,序列元素的值任意整數,無序 要求 通過交換a,b 中的元素,使 序列a 元素的和 與 序列b 元素的和 之間的差最小。例如 var a 100,99,98,1,2,3 var b 1,2,3,4,5,40 假設序列a,b中元素的和為sum a和sum b。假設aa和bb...