C语言寻找一组数据中的第一第二峰值

实验要求,我需要找出一组数组中的两个峰值:第一个峰值和第二个峰值及其数组下标。这组数据画出的图应该是这样的,我就要找出图中的那两个峰值

我写的程序如下,我试了一下,这样找出的数据是不对的。比如有的数据会找出这样的数(隔得太近了,肯定不是)有的会找出这样的数

所以,请问有没有办法找出这样的两个峰值。

程序代码:#include

int main(int argc, char** argv)

{

double a[3000];

double peak1,peak2,min=a[0];

int i,p1,p2,t1,t2,life;

FILE *fp=NULL;

FILE *fpp=NULL;

fp=fopen("G:\\uz\\new\\data100578.txt","r");

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

{

fscanf(fp,"%lf",&a[i]);

}

for(i=1;i<2500;i++)

{

if(a[i]

{

min=a[i];

peak1=a[i];

p1=i+1;

}

}//找第一个峰值

for(i=p1,min=a[p1];i<2500;i++)

{

if(a[i]

{

min=a[i];

peak2=a[i];

p2=i+1;

}

}//找第二个峰值

printf("%lf %d\n",peak1,p1);

printf("%lf %d\n",peak2,p2);

fclose(fp);

return 0;

}

附几组数据

[此贴子已经被作者于2020-2-11 12:19编辑过]

附件: 游客没有浏览附件的权限,请 登录 或 注册

c语言峰值算法_C语言寻找一组数据中的第一第二峰值相关推荐

  1. c语言排序算法_C语言写排序算法(二) —— 选择排序

    上次联系的算法是冒泡排序,不知道小伙伴们还记得不,中间穿插了一下比特币相关的分享,嘿嘿.今天来分享一下选择排序. 算法描述:选择排序是从数组中选择最大(小)的元素放到数组的最后一个,然后往前移,接着从 ...

  2. 数据结构视频教程 -《[猎豹网校]数据结构与算法_C#语言》

    整个视频打包下载地址:史上最全的数据结构视频教程系列分享之<[猎豹网校]数据结构与算法_C#语言>,转载请保留出处和链接! 更多优秀资源请访问:我是码农 在猎豹网校授课的基本都是在IT行业 ...

  3. 密码学实验报告c语言程序,密码学_实验一_古典密码算法_C语言.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp实验设计 密码学_实验一_古典密码算法_C语言.doc8页 本 ...

  4. R语言使用na.omit函数删除向量数据中的缺失值(NA值)

    R语言使用na.omit函数删除向量数据中的缺失值(NA值) 目录 R语言使用na.omit函数删除向量数据中的缺失值(NA值) R 语言特点 R语言使用na.omit函数删除向量数据中的缺失值(NA ...

  5. R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数、均值和中位数、使用funs函数指定函数列表

    R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数.均值和中位数.使用funs函数指定函数列表 目录

  6. R语言dplyr包summarise_all函数计算dataframe数据中指定因子变量的水平的个数(levels)以及缺失值的个数(missing values)

    R语言dplyr包summarise_all函数计算dataframe数据中指定因子变量的水平的个数(levels)以及缺失值的个数(missing values) 目录

  7. R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数、均值和中位数、使用list函数指定函数列表并指定自定义函数名称

    R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的计数个数.均值和中位数.使用list函数指定函数列表并指定自定义函数名称 目录

  8. R语言dplyr包summarise_all函数计算dataframe数据中所有数值数据列的均值和中位数、使用sapply筛选数值数据列(Summarize all Numeric Variables

    R语言dplyr包summarise_all函数计算dataframe数据中所有数值数据列的均值和中位数.使用sapply筛选数值数据列(Summarize all Numeric Variables ...

  9. R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的方差

    R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的方差 目录 R语言dplyr包summarise_at函数

最新文章

  1. 达梦数据库操作记录_达梦数据库常用功能及命令记录 -- 持续更新
  2. Android串口通信-AndroidStudio
  3. 沉沦17年,这位昔日科技霸主、最值钱企业,终于回来了……
  4. java main方法背后的故事?(转)
  5. MySQL 优化 —— WHERE 子句优化
  6. 资源放送丨《基于IB网络的Oracle Extend RAC最佳实践》PPT视频
  7. 用资源管理器右键编译 Visual Studio 解决方案文件
  8. spring boot连接redis配置127.0.0.1_Java技术分享——Springboot整合redis
  9. windows下apache最新下载、安装配置
  10. 接unityads_[蛮牛教程]unity接入unity Ads详细流程
  11. 博弈论基础知识与SG函数
  12. 传奇盗号木马清除手记(转)
  13. Android自定义View实现相机对焦框
  14. Unable to boot device because it cannot be located on disk. Domain: NSPOSIXErrorDomain
  15. 宝塔面板ssh安装mysql_centos安装BT宝塔面板
  16. a链接跳转到新的窗口
  17. 剩余空间,自由再生——城市高架桥下空间的活化再生研究
  18. 新版标准日本语初级_第四十二课
  19. android手机怎样开启usb调试模式,Android手机USB调试在哪?安卓手机如何打开USB调试模式?...
  20. PHP解决网页乱码问题

热门文章

  1. 7N65-ASEMI高压MOS管7N65
  2. LaTex各种命令汇总
  3. OHIF Viewer医学影像学习日记
  4. 别给“ERP新衣”打补丁(转)
  5. 单片机课设:病床呼叫系统
  6. 【2022年10月18日A组】万松园
  7. candence导出元器件清单BOM
  8. Windows 实验总结
  9. 微信应用号抢先玩一一小程序
  10. 电子烟哪个牌子比较好 好用的电子烟品牌推荐