hur.cn - 华软网

 热门搜索

求代码

  作者:未知    来源:网络    更新时间:2011/1/11
已知这个数组:double data[20]  = {-1,2,3,0,-1,0,-1,-2,3,0,3,2,5,-1,-4,5,0,-3,-1,2};
                                 {0,1,2,3,4,5,6,7,8,9,}
想要实现的功能:重新起头遍历,找出接连的、同号的、最值。详细点,就是接连的正数,找出其最大值,并记录正数起头的数组下标;接连的负数,找出其最小值,并记录负数起头的数组下标。
如对data数组举行查找后的结果为,
最值依次是{-1, 3, -1,-2,3,5,-4,5,-3,2}
对应的起始位置数组下标依次是{0,2,4,7,8,12,14,15,17,19}
谢谢啦, 哦,对,我的开发环境是VS2005,谢谢!


---华软 网友回答---
作业贴
。。。
---华软网友回复---
也不是,这是我想要实现的功能的一部份,有人说我自己的方法太麻烦了。之前在论坛上确实看到高人的代码,简洁的让我惊愕,所以,在这求高人指点啦~~呵呵
---华软网友回复---
C++">
#include <iostream>
using namespace std;

double data[20] = {-1,2,3,0,-1,0,-1,-2,3,0,3,2,5,-1,-4,5,0,-3,-1,2};
double extrernes[20]={0};
int Pos[20]={0};

int main()
{
int iPos=0;
int i,j;
extrernes[iPos]=data[iPos];
for (i = 0; i < 20 ; i++)
{
if (extrernes[iPos] < 0)
{
if (data[i] < 0 && data[i]<extrernes[iPos])
{
extrernes[iPos] = data[i];
Pos[iPos]=i;
}
if (data[i] >=0 )
{
iPos++;
extrernes[iPos] = data[i];
Pos[iPos]=i;
}

}
if (extrernes[iPos] >= 0)
{
if(data[i] > 0 && data[i] > extrernes[iPos])
{
extrernes[iPos] = data[i];
Pos[iPos]=i;
}
if (data[i] <0 )
{
if (extrernes[iPos])
{
iPos++;
extrernes[iPos] = data[i];
Pos[iPos]=i;
}
else
{
extrernes[iPos] = data[i];
Pos[iPos]=i;
}
}
}
}
j=0;
cout<<"最值:";
while(extrernes[j])
cout<<extrernes[j++]<<"  ";
cout<<"\n下标:";
for (i=0;i<j;i++)
cout<<Pos[i]<<"  ";
cout<<"\n";
return 1;
}

---华软网友回复---
恩,你可真效率,我再弱弱的问一下,#include <iostream>我用VS2005建立的工程里应用,有毛病,是怎么回事呀?主要就是cout那块,说是没定义的什么的。。。我用了#include <iostream>这个照旧有错。你这个程序,我建立个什么资料运行一下对照简单呢?
---华软网友回复---
引用 4 楼 fangpian 的回复:
恩,你可真效率,我再弱弱的问一下,#include <iostream>我用VS2005建立的工程里应用,有毛病,是怎么回事呀?主要就是cout那块,说是没定义的什么的。。。我用了#include <iostream>这个照旧有错。你这个程序,我建立个什么资料运行一下对照简单呢?

建立C++ Source File
VC6 VS2008编译都没问题
---华软网友回复---
你没建过控制台应用程序
引用 4 楼 fangpian 的回复:
恩,你可真效率,我再弱弱的问一下,#include <iostream>我用VS2005建立的工程里应用,有毛病,是怎么回事呀?主要就是cout那块,说是没定义的什么的。。。我用了#include <iostream>这个照旧有错。你这个程序,我建立个什么资料运行一下对照简单呢?

---华软网友回复---
引用 4 楼 fangpian 的回复:
恩,你可真效率,我再弱弱的问一下,#include <iostream>我用VS2005建立的工程里应用,有毛病,是怎么回事呀?主要就是cout那块,说是没定义的什么的。。。我用了#include <iostream>这个照旧有错。你这个程序,我建立个什么资料运行一下对照简单呢?


你用VS2005创建Win32控制台应用程序,全数选择默许设置,然后把代码粘贴到那个.cpp资料里面,刚帮你试过了,代码没有编译毛病的
---华软网友回复---
using namespace std;
---华软网友回复---
孤独浮云~~~那个接连的值里面,如果有0的话,也要断开,比如1,2,0,3,4,
是得出2,4,而不是4~~
---华软网友回复---
恩,改了个地方,就好啦      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。