作者riceworn (riceworn)
看板C_and_CPP
标题[问题] 写一个能够合并两阵列并将之排序好的新阵列之函数
时间Thu Apr 30 23:54:53 2009
各位先进好
我最近在写一个函式,他的输入值分别是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
1F:推 sosokill:是直接结束了吧....加个最後system("pause");看看 04/30 23:56
2F:推 QQ29:用vc就按ctrl+F5吧 05/01 00:09
3F:推 Yshuan:1楼应该是正解吧... 05/01 00:40
4F:→ riceworn:有加哦,所以才觉得很怪,怎会这样 ^^a 05/01 01:05
5F:→ sosokill:程式码里面没看你加啊 05/01 01:45
6F:→ chirs1985:mergesort里的第一个回圈就有问题了... 05/01 12:16
※ 编辑: riceworn 来自: 61.64.187.6 (05/01 19:14)
7F:推 bubu19861213:for(i=6;i>=0;i++) ??????? 05/06 23:18