| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1311 人关注过本帖
标题:[求助]在已有序的数组中插入数X
只看楼主 加入收藏
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
 问题点数:0 回复次数:15 
[求助]在已有序的数组中插入数X
有谁能指点下这道题目怎么做啊,在已有序的数组中插入数X,先谢谢啦!

2007-04-15 18:06
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
得分:0 
#include "iostream.h"
void main()
{
int i,j,k,t,a[6]={1,2,4,5,6,7};
for(i=0;i<6;i++)
cout<<a[i]<<" ";
cout<<"please enter a number"<<endl;
cin>>j;
t=j;
for(i=0;i<6;i++)
{if(a[i]>j)
for(k=6;k>i;k--)
a[k]=a[k-1];
}
a[k]=t;

for(i=0;i<=6;i++)
cout<<a[i]<<" ";
}

这是我写的程序,请各位帮忙看下,哪里出问题啦,,当输入"3"时,运行结果为"1 2 4 4 4 4 4
2007-04-15 18:12
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
得分:0 
各位帮下忙看一看这题目怎么做啦
题目:在已有序的数组中插入数X,
例如:
已知一组数:1 2 4 5 6 7;
插入数:3;
使其重新排序:
1 2 3 4 5 6 7;
用一维数组怎么做啊?
2007-04-16 12:06
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
得分:0 
怎么没有人回答我的问题呢?是不是太简单你们不感兴趣啊,本人是刚接解C++的,请大家帮一下忙啦,我还要等着交作业呢,,谢谢!
2007-04-17 12:02
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
得分:0 
可能真是题目简单了一点啦,经过我的一翻努力终于搞定它啦!
2007-04-17 12:36
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
先遍历一遍
找到合适的位置插入就行了

当你开始怀疑自己时,说明你已经失去了判断力
2007-04-17 17:06
poing
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-7-22
收藏
得分:0 
6楼的朋友你能编下这个程序吗,让我看看有什么不同啊!谢谢啦

2007-04-17 18:53
jackeyhlj
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:51
专家分:0
注 册:2007-3-27
收藏
得分:0 

你学了结构体吗?用结构体比较简单,你用的是循环,当插入3后他还继续循环,把后面的值都被4覆盖了


2007-04-17 20:58
001blue
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-10-3
收藏
得分:0 

#include "iostream.h"
void main()
{
int i,m,j,a[7]={1,2,4,5,6,7};
for(i=0;i<6;i++)
cout<<a[i]<<" ";
cout<<endl;
cout<<"please enter a number"<<endl;
cin>>j;
for(i=0;i<6;i++)
{
if(a[i]>j)
break;
}
m=i;
for(i=6;i>m;i--)
{
a[i]=a[i-1];
}
a[i]=j;

for(i=0;i<=6;i++)
cout<<a[i]<<" ";
cout<<endl;
}

2007-04-17 21:46
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 

#include<iostream.h>
int main()
{
int i,j,Array[7]={1,2,4,5,6,7};
cout<<"显示原始数据:"<<endl;
for(int m=0;m<sizeof(Array)/4-1;m++)
cout<<Array[m]<<" ";
cout<<endl;
cout<<"请输入你要插入的数字:";
cin>>j;
for(int n=sizeof(Array)/4-2;n>0;n--)
if(Array[n]>=j)
Array[n+1]=Array[n];
else
{
Array[n+1]=j;
break;
}
cout<<"显示修改后数据:"<<endl;
for(i=0;i<sizeof(Array)/4;i++)
cout<<Array[i]<<" ";
cout<<endl;
return 0;
}

其实都是大同小异
思路都是差不多的


当你开始怀疑自己时,说明你已经失去了判断力
2007-04-18 09:06
快速回复:[求助]在已有序的数组中插入数X
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012573 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved