C++ wMA 算法
CMakeLists.txt
project(aaa)
add_library(aaa SHARED aaa.cpp)
add_executable(bbb bbb.cpp)
target_link_libraries(bbb aaa)aaa.h
#pragma once #ifndef AAA_AAA_H
#define AAA_AAA_H
#endif class father
{
private:
public:
int *fabonacci(int n);
double *wMA(double *array, int *fabonacci, int arrayLen, int wMALen);
};aaa.cpp
#include "aaa.h"
#include <iostream> using namespace std; int *father::fabonacci(int n)
{
if(30 >= n > 0)
{
int *array = new int[n];
switch(n)
{
case 1:
{
array[0] = 1;
cout << array[0] << endl;
break;
}
case 2:
{
array[0] = 1;
array[1] = 1;
cout << array[0] << endl;
cout << array[1] << endl;
break;
}
default:
{
array[0] = 1;
array[1] = 1;
cout << array[0] << endl;
cout << array[1] << endl;
for(int i = 2; i < n; i++)
{
array[i] = array[i - 1] + array[i - 2];
cout << array[i] << endl;
}
}
}
return array;
}
else
{
cout << "Error!\n" << endl;
return NULL;
}
} double *father::wMA(double *array, int *fabonacci, int arrayLen, int wMALen)
{
int n = wMALen;
double *wma = new double[arrayLen];
if(arrayLen >= wMALen >0)
{
int *pF = father::fabonacci(arrayLen);
while(arrayLen >= wMALen)
{
double sum = 0;
for(int i = wMALen - n; i < wMALen; i++)
{
sum = sum + array[i] * (*(pF + i));
}
wma[wMALen - 1] = sum / pF[arrayLen];
cout << "wma[" << wMALen - 1 << "] = " << wma[wMALen - 1] << endl;
wMALen++;
}
delete(pF);
return wma;
}
else
{
cout << "Error!\n" << endl;
return NULL;
}
}bbb.cpp
#include "aaa.h"
#include <iostream> using namespace std; template <typename t> int getArrayLen(t &array)
{
return sizeof(array) / sizeof(array[0]);
} int main()
{
double array[] = {1, 2, 3, 4, 5, 6, 7, 8, 10, 9, 11, 12};
father child; int len = getArrayLen(array);
int *pF = child.fabonacci(len);
double *pWMA = child.wMA(array, pF, len, 3); delete(pF);
delete(pWMA); return 0;
}
C++ wMA 算法的更多相关文章
- C++ 以费波纳茨数列为权重的加权均值计算方法 wMA
#pragma once #include <iostream> using namespace std; template <typename T> double *wMA( ...
- cmake 静态调用 c++ dll 的类的一个例子(Clion IDE)[更新1:增加1.模版的应用,2.ma 的算法]
CMakeLists.txt project(aaa) add_library(aaa SHARED aaa.cpp) add_executable(bbb bbb.cpp) target_link_ ...
- 数据结构与算法之PHP排序算法(归并排序)
一.基本思想 归并排序算法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,使每个子序列有序,再将已有序的子序列合并,得到完全有序的序列.该算法是采用分治法(Divid ...
- Python人工智能之路 - 第二篇 : 算法实在太难了有现成的直接用吧
本节内容 预备资料: 1.FFmpeg: 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w6hk 2.baidu-aip: pip ins ...
- B树——算法导论(25)
B树 1. 简介 在之前我们学习了红黑树,今天再学习一种树--B树.它与红黑树有许多类似的地方,比如都是平衡搜索树,但它们在功能和结构上却有较大的差别. 从功能上看,B树是为磁盘或其他存储设备设计的, ...
- 分布式系列文章——Paxos算法原理与推导
Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难. 网上有很多讲解Paxos算法的文章,但是质量参差不齐.看了很多关于Paxos的资 ...
- 【Machine Learning】KNN算法虹膜图片识别
K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- 红黑树——算法导论(15)
1. 什么是红黑树 (1) 简介 上一篇我们介绍了基本动态集合操作时间复杂度均为O(h)的二叉搜索树.但遗憾的是,只有当二叉搜索树高度较低时,这些集合操作才会较快:即当树的高度较高(甚至一种极 ...
- 散列表(hash table)——算法导论(13)
1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...
随机推荐
- JavaMelody监控SQL
前言 前面讲过了Javamelody的基本配置,这里简单的介绍下,如何使用Javamelody来监控JDBC以及SQL. 手码不易,转载请注明:xingoo 在网上搜索很多资料,仅有开源社区上的两篇帖 ...
- 折叠ListView
转自 http://blog.csdn.net/hnyzwtf/article/details/50487228 1 activity_main.xml <?xml version=" ...
- javascript 对象实例
创建对象: var o = new Objct(); //创建一个空对象 var o = {}; var a = new Array(); //创建一个空数组 var a = []; var d = ...
- 线段树 poj3225
U:把区间[l,r]覆盖成1I:把[-∞,l)(r,∞]覆盖成0 D:把区间[l,r]覆盖成0C:把[-∞,l)(r,∞]覆盖成0 , 且[l,r]区间0/1互换S:[l,r]区间0/1互换 因 ...
- Mybatis + SpringMVC + Maven实现分页查询
使用Mybatis + Maven + SpringMVC 运行时,突然被需要分页查询的功能给难住了 这里推荐采用的插件是PageHelper这个插件,使用起来十分方便.该插件支持以下数据库: Ora ...
- html-div中内容自动换行
<div style='width: 100px;display:block;word-break: break-all;word-wrap: break-word;'> 内容超出div宽 ...
- eclipse-debug时直接进入/不进入/提示进入调试页面修改
eclipse使用debug调试程序时 默认设置每次程序走到断点位置时提示是否进入调试页面(如图) 而个人习惯有些系统直接进入调试页面.也有些人系统不进入调试页面调试 在这里勾选Remember my ...
- 【USACO 2.1】The Castle
/* TASK: castle LANG: C++ SOLVE: 深搜,注意每个方向对应值.枚举去掉的墙,然后再dfs,注意墙要复原,并且dfs里要判断是否超出边界. */ #include<c ...
- Cell右滑的动作状态
//允许cell可以进行编辑 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)index ...
- Leetcode 77, Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...