所与のアレイの最大値と最大サブシーケンス(コードの実装)を探し

タイトル:整数の集合を考えると、最大値が得られ、シーケンスおよびサブシーケンス限り数値のセット、および最大、対応するシーケンスの最大値を見つけることが得られなくてもよいです。

そして、最大のサブ:整数列A1、A2、...(負の数があるかもしれません)、A1を求めてアンはシーケンス愛ですAJ、AJに最大とあいているので、。

たとえば、次の配列:0、-3、6、8、-20、21、8、-9、10、-1、3、6、5、および43個の配列の最大。

 

コードは以下の通りであります:

 

1つの#include <stdio.hの>
 2の#include <STDLIB.H>
 3  の#define GET_ARRAY_LEN(アレイ、LEN){lenの=はsizeof(アレイ)/はsizeof(配列[0]);} // マクロのパラメータを定義します配列の可変LEN長が格納されている
4。 
5。 INT メイン()
 6。 {
 7。     int型の配列[] = { 0、 - 。368、 - 20であり21は8、 - 。910、 - 。13。65 };
 8      INTI、J、LEN、最大。
9      GET_ARRAY_LEN(アレイ、LEN)。
10      マックス=配列[ 0 ]。    // 初始化最大值
11  
12      (i = 0 ; iがLEN <; iは++ ){
 13          のint TEMP =配列[ 0 ]。
14          のために(J = I + 1、J <LEN; j個++ ){
 15              TEMP + = 配列[J]。
16              であれば(TEMP> MAX)
 17                  、最大= 温度。
18          }
 19      }
 20  
21      のprintf(" 最大の配列であり:%D \ N- " 、max)は、
 22である     リターン 0 ;
 23です }

 

上記のコードは、コードの行3を学習し、覚えておく価値あるである:メモリマクロの長さは、パラメータ、変数LENの配列で定義されています。

 

 #define GET_ARRAY_LEN(アレイ、LEN){lenの=はsizeof(配列)/はsizeof(配列[0]);}

 

前記のsizeof(配列)は、配列全体の大きさを示すが、配列要素のサイズにはsizeof(配列[0])が表現されます。それは要素を取得した配列のサイズで割ったアレイの全体の長さのサイズです。配列の各要素の大きさが同じである、配列の長さは、このように決定することができます。

おすすめ

転載: www.cnblogs.com/lucky-tam1201/p/11204629.html