在pascal語言中,如何在陣列中選取數,使其之和最大且小於某數

時間 2022-07-21 05:27:11

1樓:匿名使用者

開心的金明:

pascal源程式:

program aaa;

varv,p:array [1..60] of longint;

f:array [0..60,0..32000] of longint;

i,j,n,m:longint;

function max(a,b:longint):longint;

begin

if a>b then max:=a

else max:=b;

end;

begin

readln(n,m);

fillchar(q,sizeof(q),false);

for i:=1 to m do

readln(v[i],p[i]);

for i:=1 to m do

for j:=0 to n do

begin

if (v[i]<=j) then

f[i,j]:=max(f[i-1,j],f[i-1,j-v[i]]+v[i]*p[i])

else f[i,j]:=f[i-1,j];

end;

writeln(f[m,n]);

end.

2樓:

樸素的方法是列舉:列舉5個數,找出最優的。

比較高階的方法:這是乙個揹包問題,用動態規劃來解決。

你想問哪種方法啊?想要**還是思路啊?說清楚。

3樓:匿名使用者

初學者的話用回溯也可以 效率比較低 但比較好做

4樓:匿名使用者

你的陣列有多少個元素呢?即陣列的規模有多少大小?

設計乙個c語言程式,求5個數中的最大數和最小數。

5樓:

#include

void main()

printf("\n最大值為:%d",max);

printf("\n最小值為:%d\n",min);}

在c語言中,如何在陣列中插入乙個數

6樓:匿名使用者

方法為:輸入乙個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。

#include

int main()

int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;

printf("插入前陣列的資料是:") ;

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

printf("%4d",a[i] ) ;

printf("\n") ;

printf("請輸入要插入的資料:") ;

scanf("%d",&x) ;

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

if(a[i]>x)

break;

for(j=9; j>=i; j--)

alj+1] =alj] ;

a[i]=x;

printf("插入後陣列的資料是:") ;

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

printf("%4d",[i] ) ;

return 0;

7樓:傑遜漂流記

有乙個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入乙個數,要求按原排序的規律將它插入到陣列中<5;i++) if(x2.

j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。……

8樓:招鵬鯨清可

#include"stdio.h"

#include"string.h"

void

main()

;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤

inti,j,temp,n;

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

for(j=0;j<9-i;j++)

if(a[j]>a[j+1])

printf("按從小到大的排列順序為:\n");

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

printf("%d

",a[i]);

printf("請輸入你想插入陣列的數字:");

scanf("%d",&n);

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

if(n

=i;j--)

a[j+1]=a[j];

break;

}a[i]=n;

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

printf("%d

",a[i]);

printf("\n");}

9樓:匿名使用者

樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入乙個數,和陣列中的數比較大小

10樓:匿名使用者

比如在第n個數中插入乙個m

用j**a建立乙個長度為5的整數型別陣列,輸入5個數到陣列中 找出該陣列中的最大值和最小值

c語言如何取陣列元素個數,請問在C語言中如何獲取乙個陣列裡存在多少個元素?

1 c語言中,定義陣列後可以用sizeof命令獲得陣列的長度 即可容納元素個數 但是通過傳遞陣列名引數到子函式中,以獲得陣列長度是不可行的,因為在子函式當中,陣列名會退化為乙個指標。2 例如 int data 4 length length sizeof data sizeof data 0 陣列佔...

在C語言中fseek 的功能,在C語言中fseek 的功能

fseek 是重定位流 資料流 檔案 上的檔案內部位置指標。注意 檔案指標指向檔案 流。位置指標指向檔案內部的位元組位置,隨著檔案的讀取會移動,檔案指標如果不重新賦值將不會改變或指向別的檔案。如果執行成功,stream將指向以fromwhere為基準,偏移offset 指標偏移量 個位元組的位置,函...

C語言中的sturct用途, 在c語言中的意思

結構體。c為了更好的處理資料問題,引入了結構體的概念。具體用法你可以到網上搜下。我不廢話了。這是用來定義結構的函式 例如 struct student 在c語言中的意思 階乘指從1乘以2乘以3乘以4一直乘到所要求的數。例如所要求的數是4,則階乘式是1 2 3 4,得到的積是24,24就是4的階乘。例...

messagebox是c語言中的函式嗎如何用

準確來說是系統api函式原型是int messagebox hwnd hwnd,lpctstr lptext,lpctstr lpcaption,uint utype 比如寫成 include int main 執行截圖就是 messagebox 注意區分大小寫。它的功能是彈出乙個標準的window...

小白在c語言中一些基礎問題,小白在C語言中一些基礎問題

巨集定義是不需要分號的 define link struct link define len sizeof link int create int n 返回型別不正確,應該是link create int n c語言程式設計小白問題 首先訂正乙個錯誤,c語言可以寫像vb一樣的介面的,如果在windo...