用分治法求n個數中的最大值和次大值以及最小值和次小值

2022-11-20 22:25:23 字數 2271 閱讀 6562

1樓:匿名使用者

----------------------好象你在找到最大和最小值後忘了退出了.

----------------------#include

int a=;

/*除錯用的變數,防止進入死迴圈*/

static long int tmp=1;

void maxmin(int i,int j,int *fmax,int *fmin)

if(i==j)

if(i==j-1)else

}else

}void main()

2樓:匿名使用者

問題出在maxmin()函式上,一個很小的邏輯錯誤,我試著更正了以下,你看看:

void maxmin(int i,int j,int *fmax,int *fmin)

else //這裡

else

else}}

用c語言利用分治法求一組資料中最大的兩個數和最小的兩個數

3樓:匿名使用者

#include

main()

;int i,max1=0,max2=0,min1=0,min2=0;

for(i=0;i<10;i++)

if(max1==0)

max2=1;

if(min1==0)

min2=1;

for(i=0;i<10;i++)

用c語言編寫一個程式,求n個數中的最大值和最小值,要求用函式完成。 20

4樓:匿名使用者

#include

#define n 1024

void fun(int *a,int n,int *max,int *min)

void main() { int i,n,max,min,a[n];

scanf("%d",&n); if ( n>n ) n=n;

for ( i=0;i

5樓:

**如下(用氣泡排序法):

#include

void bubble(int a, int n)}}int main(void)

c++求n個數中的最大值和最小值。

6樓:楊柳風

把n個數放在陣列中,宣告兩個變數max,min ,執行迴圈,把第一個數賦給max,min,依次與後面的比較,

如果後面的數比max大,則把它的值賦給max, 也就是max一直放的是最大值,

如果後面的數比min小,則把它的值賦給min,min一直放的是最小值

7樓:夏森闞格菲

簡單的實現最大值和最小值,還是說資料結構的排序?簡單實現如樓下的放到陣列中在比較;或者用標準庫裡的sort()函式。

分治法求陣列的最大最小值

8樓:折柳成萌

1、分治法不是用來求最大值最小值的。在電腦科學中,分治法是一種很重要的演算法。字面上的解釋是「分而治之」,就是把一個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併。

這個技巧是很多高效演算法的基礎,如排序演算法(快速排序,歸併排序)。

分治法的精髓:

分--將問題分解為規模更小的子問題;

治--將這些規模更小的子問題逐個擊破;

合--將已解決的子問題合併,最終得出「母」問題的解。

2、求陣列中的最大值和最小值,一般使用假設法,即假設陣列的第1個元素為最大值,同時也是最小值,然後遍歷陣列,找到最大值和最小值。示例如下:

#includeint main() ;int max, min;max = min = a[0]; //假設第1個元素即是最大值也是最小值。int max_pos = 0, min_pos = 0;//遍歷陣列,找出陣列a中的最大數和最小數for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) printf("最大數:

%d\t最小數:%d\n", max ,min );return 0;}

j**a用分治法查詢陣列元素的最大值和最小值,求大神幫我看看這段**錯在哪

求前n項和最大值,求數列前N項和的最大值,這個最大值是多少。求過程

由條件得到a1 39 2 d.可知d 0.而a20 1 2d.a21 1 2d.即a20 0.a21 0.所以s20是最大的 選s20,請放心採納。a n 1 a n k a 13 a 1 12k a 8 a 1 7k 3 a 8 5 a 13 3 a 1 7k 5 a 1 12k 2 a 1 39...

求助用matlab求這個函式的最大值

題主給出的實數a,b滿足1 b a 3,則 a 2 b 2 1 ab 的最大值問題。可以通過matlab的fmincon最優化函式求解。求解方法 1 自定義目標函式,fmincon fun x 這裡x a,b 其內容。y a.2 b.2 1 a b 負號的意思求最大值即最小值的相反數。2 自定義約束...

求函式yxx的最大值和最小值

函式分為3段 第一段為x 1 這時候y x 1 x 2 1 第二段為 1 x 2 這時候y x 1 x 2 2x 1 當x 1時,y 3,當x 2時,y 3,第三段x 2時,y x 1 x 2 3 所以最大值為3,最小值專為 3,分為當屬x 2和x 1時實現。另外也可用畫圖的方法作答 求函式y x ...