1.512��Դ��
2.求VC++源代码,原码200行左右,原码要有详细注释,原码悬赏!原码!原码!原码流量魔盒app源码
3.怎样写软件源码?
512��Դ��
显示开关:=1;
顶价:=REF(H,BARSLAST(H>REF(H,1)));
底价:=REF(L,BARSLAST(L<REF(L,1)));
分型顶0:=H>顶价 AND L>底价;
分型底0:=L<顶价 AND H<底价;
分型顶1:=分型顶0 AND H=HHV(H,BARSLAST(分型底0));
分型底1:=分型底0 AND L=LLV(L,BARSLAST(分型顶0));
分型顶:=FILTERX(分型顶1,BARSLAST(分型底1));
分型底:=FILTERX(分型底1,BARSLAST(分型顶1));
UP1:=BARSLAST(分型底);
顶力度1:=HHV(L,UP1+1)>LLV(H,UP1+1);
顶包含1:=COUNT(L>REF(L,1),UP1)>2 AND COUNT(H>REF(H,1),UP1)>2;
DN1:=BARSLAST(分型顶);
底力度1:=HHV(L,DN1+1)>LLV(H,DN1+1);
底包含1:=COUNT(H>REF(H,1),DN1)>2 AND COUNT(L>REF(L,1),DN1)>2;
笔顶:=分型顶 AND UP1>3 AND 顶力度1 AND 顶包含1;
笔底:=分型底 AND DN1>3 AND 底力度1 AND 底包含1;
笔顶:=笔顶 AND H=HHV(H,BARSLAST(笔底));
笔底:=笔底 AND L=LLV(L,BARSLAST(笔顶));
笔顶:=笔顶 AND H=HHV(H,BARSLAST(笔底));
笔底:=笔底 AND L=LLV(L,BARSLAST(笔顶));
笔顶1:=FILTERX(笔顶,BARSLAST(笔底));
笔底1:=FILTERX(笔底,BARSLAST(笔顶));
UP2:=BARSLAST(笔底1);
顶力度2:=HHV(L,UP2+1)>LLV(H,UP2+1);
顶包含2:=COUNT(L>REF(L,1),UP2)>2 AND COUNT(H>REF(H,1),UP2)>2;
DN2:=BARSLAST(笔顶1);
底力度2:=HHV(L,DN2+1)>LLV(H,DN2+1);
底包含2:=COUNT(H>REF(H,1),DN2)>2 AND COUNT(L>REF(L,1),DN2)>2;
笔顶:=分型顶 AND UP2>3 AND 顶力度2 AND 顶包含2;
笔底:=分型底 AND DN2>3 AND 底力度2 AND 底包含2;
笔顶:=笔顶 AND H=HHV(H,BARSLAST(笔底));
笔底:=笔底 AND L=LLV(L,BARSLAST(笔顶));
笔顶2:=FILTERX(笔顶,BARSLAST(笔底));
笔底2:=FILTERX(笔底,BARSLAST(笔顶));
笔顶3:=笔顶1 OR 笔顶2;
笔底3:=笔底1 OR 笔底2;
笔顶:=FILTERX(笔顶3 AND H=HHV(H,BARSLAST(笔底3)),BARSLAST(笔底3));
笔底:=FILTERX(笔底3 AND L=LLV(L,BARSLAST(笔顶3)),BARSLAST(笔顶3));
笔顶:=FILTERX(笔顶 AND H=HHV(H,BARSLAST(笔底)),BARSLAST(笔底));
笔底:=FILTERX(笔底 AND L=LLV(L,BARSLAST(笔顶)),BARSLAST(笔顶));
笔顶:=笔顶 AND (BARSLAST(笔底)>1 OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (BARSLAST(笔顶)>1 OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=笔顶 AND (H=HHV(H,BARSLAST(笔底)) OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (L=LLV(L,BARSLAST(笔顶)) OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=FILTERX(笔顶,BARSLAST(笔底));
笔底:=FILTERX(笔底,BARSLAST(笔顶));
笔顶:=笔顶 AND (BARSLAST(笔底)>2 OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (BARSLAST(笔顶)>2 OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=笔顶 AND (H=HHV(H,BARSLAST(笔底)) OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (L=LLV(L,BARSLAST(笔顶)) OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=FILTERX(笔顶,BARSLAST(笔底));
笔底:=FILTERX(笔底,BARSLAST(笔顶));
笔顶:=笔顶 AND (BARSLAST(笔底)>3 OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (BARSLAST(笔顶)>3 OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=笔顶 AND (H=HHV(H,BARSLAST(笔底)) OR BARSLAST(笔底)=DRAWNULL);
笔底:=笔底 AND (L=LLV(L,BARSLAST(笔顶)) OR BARSLAST(笔顶)=DRAWNULL);
笔顶:=FILTERX(笔顶,BARSLAST(笔底));
笔底:=FILTERX(笔底,BARSLAST(笔顶));
DN:=BARSLAST(笔顶);
底力度:=HHV(L,DN+1)>LLV(H,DN+1);
底包含:=COUNT(H>REF(H,1),DN)>2 AND COUNT(L>REF(L,1),DN)>2;
笔底:=笔底 AND (笔底<>1) AND DN>3 AND 底力度 AND 底包含 AND (L=LLV(L,BARSLAST(笔顶)));
笔底:=FILTERX(笔底,BARSLAST(笔顶));
UP:=BARSLAST(笔底);
顶力度:=HHV(L,UP+1)>LLV(H,UP+1);
顶包含:=COUNT(L>REF(L,1),UP)>2 AND COUNT(H>REF(H,1),UP)>2;
笔顶:=笔顶 AND (笔顶<>1) AND UP>3 AND 顶力度 AND 顶包含 AND (H=HHV(H,BARSLAST(笔底)));
笔顶:=FILTERX(笔顶,BARSLAST(笔底));
笔顶:=笔顶 OR 笔顶;
笔底:=笔底 OR 笔底;
笔顶:=FILTERX(笔顶 AND H=HHV(H,BARSLAST(笔底)),BARSLAST(笔底));
笔底:=FILTERX(笔底 AND L=LLV(L,BARSLAST(笔顶)),BARSLAST(笔顶));
UP:=BARSLAST(笔底);
顶力度:=HHV(L,UP+1)>LLV(H,UP+1);
顶包含:=COUNT(L>REF(L,1),UP)>2 AND COUNT(H>REF(H,1),UP)>2;
DN:=BARSLAST(笔顶);
底力度:=HHV(L,DN+1)>LLV(H,DN+1);
底包含:=COUNT(H>REF(H,1),DN)>2 AND COUNT(L>REF(L,1),DN)>2;
笔顶:=笔顶 AND UP>3 AND 顶力度 AND
求VC++源代码,行左右,原码要有详细注释,原码悬赏!原码!原码!原码
哈弗曼压缩
#include <string.h>
#include <stdlib.h>
#include<iostream.h>
#include<fstream.h>
#define MaxNodes
#define MaxBufSize
#define MaxBits
struct Node
{
unsigned char b;
int count;
int parent,原码lch,rch;
char bits[MaxBits];
}Nodes[MaxNodes];
ifstream ifile;
ofstream ofile;
char *fname=new char();
unsigned char c;
char buf[MaxBufSize];
int flen;
int NodesNum;
void decompress();
void compress();
void charCount();
void initNodes();
void creatHuffTree();
void huffCoding();
void sortByCount();
int FindMin(int curlen);
void comToFile();
void decomToFile();
void clearSDS();
void locChar(int loc,int i);
void main()
{
char choice;
while(1)
{
cout<<" ------------------------------------------------------"<<endl;
cout<<" # 0.退出 #"<<endl;
cout<<" # 1.压缩 #"<<endl;
cout<<" # 2.解压 #"<<endl;
cout<<" ------------------------------------------------------"<<endl;
do
{
cout<<"请选择:"<<endl;
cin>>choice;
if(choice!='0' && choice!='1' && choice!='2')
{
cout<<"输入出错!请重新输入!原码"<<endl;
}
}
while(choice!='0' && choice!='1' && choice!='2');
switch(choice)
{
case '0':cout<<"成功退出!原码"<<endl;exit(0); break;
case '1':compress();break;
case '2':decompress();break;
}
}
}
void compress()
{
cout<<"请输入待压缩的文件名:";
cin>>fname;
ifile.open(fname,ios::nocreate|ios::binary);
if(!ifile)
{
cout<<"文件不存在!"<<endl;
return;
}
charCount();
initNodes();
sortByCount();
creatHuffTree();
huffCoding();
cout<<"请输入压缩后的文件名:";
cin>>fname;
ofile.open(fname,ios::binary);
ofile.write((char*)&NodesNum,sizeof(NodesNum));
ofile.write((char*)&flen,sizeof(flen));
for(int i=0;i<NodesNum;i++)
{
ofile.write((char*)&Nodes[i].b,sizeof(Nodes[i].b));
ofile.write((char*)&Nodes[i].count,sizeof(Nodes[i].count));
}
comToFile();
ifile.close();
ofile.close();
clearSDS();
}
void decompress()
{
clearSDS();//不加此句,关闭程序再解压,大牛源码解析会提示BUF出错
cout<<"请输入待解压的文件名:";
cin>>fname;
ifile.open(fname,ios::nocreate|ios::binary);
if(!ifile)
{
cout<<"文件不存在!"<<endl;
return;
}
ifile.read((char*)&NodesNum,sizeof(NodesNum));
ifile.read((char*)&flen,sizeof(flen));
cout<<NodesNum<<" "<<flen<<endl;
for(int i=0;i<NodesNum;i++)
{
ifile.read((char*)&Nodes[i].b,sizeof(Nodes[i].b));
ifile.read((char*)&Nodes[i].count,sizeof(Nodes[i].count));
}
creatHuffTree();
cout<<"请输入解压后的文件名:";
cin>>fname;
ofile.open(fname);
decomToFile();
ifile.close();
ofile.close();
clearSDS();
}
void clearSDS()//SDS is short for Shared Data Structure
{
NodesNum=flen=c=0;
for(int i=0;i<MaxNodes;i++)
{
Nodes[i].b=0;
Nodes[i].count=0;
Nodes[i].parent=Nodes[i].lch=Nodes[i].rch=-1;
buf[i]=0;
for(int j=0;j<MaxBits;j++) Nodes[i].bits[j]=0;
}
}
void comToFile()
{
ifile.clear();
ifile.seekg(0);
char tbuf[]="";
while(ifile.get(c))
{
for(int i=0;i<NodesNum;i++)
{
if(c==Nodes[i].b)
{
strcat(buf,Nodes[i].bits);
break;
}
}
while(strlen(buf)>=8)
{
memcpy(tbuf,buf,8);
c=(char)strtol (tbuf,NULL,2);
memmove(buf,buf+8,strlen(buf)+1-8);
ofile.write((char*)&c,sizeof(c));
}
}
if(strlen(buf)>0)//剩余
{
strcat(buf,"");//最多接7个0即可
memcpy(tbuf,buf,8);
c=(char)strtol (tbuf,NULL,2);
ofile.write((char*)&c,sizeof(c));
}
}
void decomToFile()
{
while (ifile.get(c)) //while(!ifile.eof()),老样子
{ //ifile.read((char*)&c,sizeof(c));
char tbuf[]="";
char rbuf[]="";
itoa((int)c,rbuf,2);
strcpy(tbuf+8-strlen(rbuf),rbuf);
memmove(buf+strlen(buf),tbuf,8);//末尾会多一个tbuf,无碍
while(strlen(buf)>&&flen>0) locChar(2*NodesNum-2,0);
}
while(strlen(buf)>0&&flen>0) locChar(2*NodesNum-2,0);
}
void locChar(int loc,int i)//递归得出字符
{
if((Nodes[loc].lch==-1)&&(Nodes[loc].rch==-1))
{
ofile.write((char*)&Nodes[loc].b,sizeof(Nodes[loc].b));
flen--;
//memmove(buf,buf+i,strlen(buf)-i+1);
//memmove(buf,buf+i,-i);//Very improtant code modified at here!
memcpy(buf,buf+i,-i);//Same result Like the line Above!Maybe not effective
return;
}
else
{
switch( buf[i])
{
case '0': loc=Nodes[loc].lch;break;
case '1': loc=Nodes[loc].rch;break;
default: cout<<"buf中出错!"<<endl;break;
}
i++;
locChar(loc,i);
}
}
void charCount()//统计字符出现次数
{
while(ifile.get(c))
{
Nodes[c].count++;
flen++;//得出文件长度
}
}
void initNodes()//初始化
{
for(int i=0;i<MaxNodes;i++)
{
if(Nodes[i].count!=0)
Nodes[i].b=(unsigned char)i;
else Nodes[i].b=0;
Nodes[i].parent=Nodes[i].lch=Nodes[i].rch=-1;
}
}
void creatHuffTree()//建树
{
int t=2*NodesNum-1;
for(int i=NodesNum;i<t;i++)
{
int loc=FindMin(i);
Nodes[i].count=Nodes[loc].count;
Nodes[loc].parent=i;
Nodes[i].lch=loc;
loc=FindMin(i);
Nodes[i].count+=Nodes[loc].count;
Nodes[loc].parent=i;
Nodes[i].rch=loc;
}
Nodes[t-1].parent=-1;
}
int FindMin(int curlen)//找没有父结点,且Count最小的节点
{
int loc=curlen-1;//找不到,返回最后一个,最后一个不在查找范围
for(int i=0;i<curlen;i++)
{
if(Nodes[i].count<=Nodes[loc].count)
{
if(Nodes[i].parent==-1)
loc=i;
}
}
return loc;
}
void huffCoding()//根据树来编码
{
int Pid,t;//Parent id
for(int i=0;i<NodesNum;i++)
{
t=i;
while(Nodes[t].parent!=-1)
{
Pid=Nodes[t].parent;
if(Nodes[Pid].lch==t) //置左分支编码0
{ //函数原型:void *memmove( void *dest, const void *src, size_t count );
memmove(Nodes[i].bits+1,Nodes[i].bits,strlen(Nodes[i].bits)+1);
Nodes[i].bits[0]='0';
}
else //置右分支编码1
{
memmove(Nodes[i].bits+1,Nodes[i].bits,strlen(Nodes[i].bits)+1);
Nodes[i].bits[0]='1';
}
t=Pid;
}
}
}
//降序
void sortByCount()
{
Node tempNode;
for(int i=0;i<MaxNodes;i++)
for(int j=MaxNodes-1;j>i;j--)
{
if(Nodes[i].count<Nodes[j].count)
{
tempNode=Nodes[i];
Nodes[i]=Nodes[j];
Nodes[j]=tempNode;
}
}
for(i=0;i<MaxNodes;i++) if(Nodes[i].count==0) break;
NodesNum=i;//关键得出有效叶子结点个数NodesNum
}
怎样写软件源码?
在软著申请中,关键的软件信息填写不容忽视。针对作品开发和运行环境的大字牌源码描述,你需要详细列出以下几点:
首先,开发环境的描述应明确具体:处理器:例如,Intel Core i5或AMD Ryzen 5,强调其性能和效率。
内存:确保足够的资源,如8GB或GB RAM,以支持软件流畅运行。
存储:如GB或GB SSD,投机之王源码存储空间不可或缺。
其他硬件:如用于开发的显示器、高效键盘和鼠标,它们可能影响开发效率。
例如,Java开发的网页应用,你可能会写:“在装备有Intel Core i5处理器,8GB RAM,视频客服 源码GB SSD的硬件环境中,配备专业显示器、键盘和鼠标进行开发。” 然后,运行平台同样重要:处理器:如Intel Core i3或AMD Ryzen 3,适应目标用户群体的设备。
内存:至少4GB或8GB RAM,保证基本的用户体验。
存储:GB或GB SSD,确保快速加载。
浏览器插件和操作系统:如Windows、macOS或Linux下的兼容性信息。
对于网页应用,描述可能为:“在Intel Core i3处理器,4GB RAM,GB SSD的硬件上,兼容Windows、macOS或Linux操作系统,运行于浏览器环境中。” 软件开发工具的选择同样重要:IDE:如Eclipse或IntelliJ IDEA,突出其高效和专业性。
构建工具:如Maven或Gradle,确保代码质量和部署流程的标准化。
示例为:“利用Eclipse作为主要开发环境,Maven或Gradle作为构建工具进行项目构建和管理。” 至于运行支撑环境,需要考虑:Web服务器:如Apache或Nginx,强调其稳定性和性能。
数据库:MySQL或Oracle,提供数据存储和管理的基础。
比如:“该网页应用在Apache或Nginx服务器上部署,利用MySQL或Oracle数据库进行数据交互和存储。” 最后,每个软著申请可能都有其特定的要求,以上内容仅供参考,确保根据实际项目需求进行详细且准确的填写,才能提升作品的认证通过率。