[問題] 寫一個能夠合併兩陣列並將之排序好的新 …

看板C_and_CPP (C/C++)作者 (riceworn)時間16年前 (2009/04/30 23:54), 編輯推噓4(403)
留言7則, 6人參與, 最新討論串1/1
各位先進好 我最近在寫一個函式,他的輸入值分別是A陣列、B陣列、A陣列長度、B陣列長度、C陣列 先假設A、B陣列都已經有初值了 C陣列是要將A、B陣列合併的新陣列 我的想法是先將A、B陣列都放入C 然後再將C做氣泡排序法 以下是我的程式 #include <stdio.h> #include <string.h> void merge(int nums1[],int nums2[],int length1,int length2,int result[]) { int i,j,tmp; for(i=0;i<length1;i++) result[i]=nums1[i]; for(i=0;i<length2;i++) result[i+length1]=nums2[i]; for(i=6;i>=0;i++) { for(j=0;j<=i;j++) { if(result[j]>result[j+1]) { tmp=result[j]; result[j]=result[j+1]; result[j+1]=tmp; } } } } int main(int argc, char *argv[]){ int nums1[5]={1,2,3,4,5},nums2[3]={1,3,8}; int result[8]={0,0,0,0,0,0,0,0},i; merge(nums1,nums2,5,3,result); for(i=0;i<8;i++) { printf("第%d位數是%d\n",i+1,result[i]); } system("PAUSE"); return 0; } 小弟現在的問題是 compiler執行時候黑色畫面審一下就消失了 實在沒有頭緒,想請教各位先進指導一下 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.187.6

04/30 23:56, , 1F
是直接結束了吧....加個最後system("pause");看看
04/30 23:56, 1F

05/01 00:09, , 2F
用vc就按ctrl+F5吧
05/01 00:09, 2F

05/01 00:40, , 3F
1樓應該是正解吧...
05/01 00:40, 3F

05/01 01:05, , 4F
有加哦,所以才覺得很怪,怎會這樣 ^^a
05/01 01:05, 4F

05/01 01:45, , 5F
程式碼裡面沒看你加啊
05/01 01:45, 5F

05/01 12:16, , 6F
mergesort裡的第一個迴圈就有問題了...
05/01 12:16, 6F
※ 編輯: riceworn 來自: 61.64.187.6 (05/01 19:14)

05/06 23:18, , 7F
for(i=6;i>=0;i++) ???????
05/06 23:18, 7F
文章代碼(AID): #19-SdEev (C_and_CPP)
文章代碼(AID): #19-SdEev (C_and_CPP)