实现二维数组排序_二维数组排序 plc实现程序-程序员宅基地

技术标签: c语言  

最近在研究 粗糙集、遗传算法、人工神经网络。在遗传网络计算适应性分数上,需要建立索引,要对二维数组排序。刚刚开始还感觉无从下手,最后应用c++库函数 qsort轻松解决。
Ps:给大家推荐一个遗传算法和人工神经网络入门的书:《游戏编程中的人工智能技术》这门书里面关于神经网络和遗传算法的介绍,确实不错。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const char address[100]="C:\\Users\\steven\\Desktop\\work\\dm3d.txt";//数据录入地址
const char addressNew[100]="C:\\Users\\steven\\Desktop\\work\\dm3d_AfterPaixu.txt";//数据读出地址
const int hang=600000;//录入的行数(确定值)
const int maxlie=30;//录入的列数(这里是最大值,即:列数未知,但是能人为给出一个最大值,程序会自动算出实际列数,但必须小于maxlie)
//static unsigned date[hang][maxlie];
using namespace std;
struct Zuobiao
{
int lie[maxlie];
};
static Zuobiao point[hang];
int cmd(const void*,const void*);
inline int help_cmd(struct Zuobiao *,struct Zuobiao *);
int main()
{
ifstream fin(address);
for(int i=0;i
  for(int j=0;j
point[i].lie[j]=-1;
char s[1000];
int lie=0;
fin.getline(s,1000,'\n');
for(unsigned i=0;i
{
if(s[i]==' ')
lie++;//程序以空格为标识,所以要求将要录入的文件,每两个数据用空格隔开,末尾不能有空格
}
lie++;
fin.seekg(0);
cout<<"录入数据至内存..."<<endl;
for(int i=0;i
for(int j=0;j
fin>>point[i].lie[j];
cout<<"录入成功!开始排序...."<<endl;
//for(int i=0;i
  qsort(&point[0],hang,sizeof(Zuobiao),cmd);
cout<<"排序完成,读出数据..."<<endl;
ofstream fout(addressNew);
for(int i=0;i
{
fout<<point[i].lie[0];
for(int j=1;j
  fout<<" "<<point[i].lie[j];
fout<<endl;
}
}
int cmd(const void* a,const void *b)
{
struct Zuobiao * c=(struct Zuobiao *)a;
struct Zuobiao * d=(struct Zuobiao *)b;
return help_cmd(c,d);
}
inline int help_cmd(struct Zuobiao *a ,struct Zuobiao *b)
{
int i=0;
int count=0;
while(a->lie[i]!=-1)
{
if(a->lie[i] > b->lie[i])
return 1;
else if(a->lie[i] < b->lie[i])
return -1;
else
i++;
}
return -1;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wlzzhcsdn/article/details/78225624

智能推荐

AR502H-CN开发笔记54:OVF和OVA的区别_ova/ovf-程序员宅基地

文章浏览阅读801次。本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍OVF和OVA的区别。一、什么是OVF文件开源虚拟化格式OVF文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。二、OVF文件工作原理以及各组件的作用简单来说,OVF文件可以抽象看做一个由规定的几个不同类型的文件所组成的文件包,这个文件包可作为以后不同虚拟机之间一个标准可靠的虚拟文件格式,实现_ova/ovf

【Vue-2】flask+vue时,浏览器可正常访问,但从vue访问返回Error: Network Error_vue network error-程序员宅基地

文章浏览阅读2.6k次。问题:flask+vue时,flask的网址可正常访问,但从vue访问返回【Error: Network Error】解决方案:在flask里 加一句:CORS(app, supports_credentials=True)解决跨域问题,服务端把CORS配置好,或者用node做代理层访问API浏览器访问时,对跨域请求进行了组织, 而vue的response没有, 所以用浏览器是可以进行请求的并且请求成功了, 但是vue肯定是不行的.开发环境的话可以通过Cors做一个中间层进行代理,js发_vue network error

JAVA 02——第一个JAVA程序的总结和提升_注释_数据类型_1.8^308-程序员宅基地

文章浏览阅读339次。目录第一个JAVA程序的总结和提升注释数据类型整数变量整型常数的三种表示形式进制转换浮点型字符型(2个字节)boolean类型(一位,不是一个字节)类型转换自动类型转换强制类型转换运算时类型提升问题基本类型转化时常见错误和问题第一个JAVA程序的总结和提升Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行关键字cass表明Java程序中的全部内容都包含在类中,Java是一种面向对象的语言。 main方法是Java应用程序的入口方.._1.8^308

NOJ-1149-旅游预算_旅游预算算法设计图示-程序员宅基地

文章浏览阅读952次。旅游预算描述一个旅行社需要估算乘汽车从某城市到另一城市的最小费用,沿路有若干加油站,每个加油站收费不一定相同。旅游预算有如下规则: 若油箱的油过半,不停车加油,除非油箱中的油不可支持到下一站;每次加油时都加满;在一个加油站加油时,司机要花费2元买东西吃;司机不必为其他意外情况而准备额外的油;汽车开出时在起点加满油箱;计算精确到分(1元=100分)。编写程序估计实际行驶在某路线所需的最小费用。输入第一行为起点到终点的距离(实数) 第二行为三个实数,后跟一个整数,每两个数据间用一个空格隔开。其中第一个数_旅游预算算法设计图示

iOS SDK与Xcode_ios sdk如何混淆-程序员宅基地

文章浏览阅读415次。1. Xcode是一个非开源的IDE,即集成开发环境(Integrated Development Environment)。2. Xcode是用于(桌面级的)OS X和(移动级的)iOS开发。3. Xcode包括:> 设备分析工具(Instruments analysis tool)> iOS模拟器(iOS Simulator)> OS (OS Frameworks) :_ios sdk如何混淆

计算机辅助求解如何做,计算机辅助求解一元高次方程.pdf-程序员宅基地

文章浏览阅读482次。计算机辅助求解一元高次方程.pdf应用研究 数字技术与应用计算机辅助求解一元高次方程李艳(潍坊职业学院信息工程学院 山东潍坊 261041)摘要:本文主要介绍了使用计算机辅助求解..._计算机解高次方程

随便推点

Base64编码,去掉等号特殊字符_base64去掉等号不能被四整除-程序员宅基地

文章浏览阅读2.3w次。/// 自定义包含指定字符的base64工具 internal static class Base64Helper { static readonly string base64Table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"; static read_base64去掉等号不能被四整除

C++函数对象-谓词-程序员宅基地

文章浏览阅读2.5k次。函数对象(也叫functor),听起来或许有点陌生,但他们是c++实体,即使你没有用过,也一定见过,只是你没有意识到而已。从概念上讲,函数对象时用作函数的对象;但是从实现上来说,函数对象时实现了 operate()的类的对象。虽然函数和函数指针也可以归为函数对象,但实现了operate()的类的对象才能保存状态,才能用于STL。\quad我们直接看定义: - 一元函数:接受一个参数的函数,如f(x

做一个懒cocos2d-x程序猿(一)停止手打所有cpp文件到android.mk-程序员宅基地

文章浏览阅读815次。前言:"懒"在这里当然不是贬义词,而是追求高效,拒绝重复劳动的代名词!做一个懒cocos2d-x程序猿的系列文章将教会大家在工作中如何偷懒,文章篇幅大多较短,有的甚至只是几行代码,争取把懒发挥到极致!一.懒人说书Android.mk中LOCAL_SRC_FILES需要罗列出所有参与编译的文件,这样在.cpp文件少的时候还可以一个一个添加,当有几百个文件的时候会十分的痛苦!我们下

Linux nc常用命令_nc -nv命令-程序员宅基地

文章浏览阅读1.3k次。Linux nc常用命令Linux中nc命令是一个功能强大的网络工具,全称是netcat。 nc/netcat(选项)(参数) 选项:-g&lt;网关&gt;:设置路由器跃程通信网关,最多设置8个;-G&lt;指向器数目&gt;:设置来源路由指向器,其数值为4的倍数;-h:在线帮助;-i&lt;延迟秒数&gt;:设置时间间隔,以便传送信息及扫描通信端口;-l:使用监听模式,..._nc -nv命令

开启gtid 主从配置模式_gtid主从配置是否需要开启skip_slave_start-程序员宅基地

文章浏览阅读1.1k次。错误:描述2018-03-09 10:41:08 5128 [Note] InnoDB: Highest supported file format is Barracuda.2018-03-09 10:41:08 5128 [Note] InnoDB: 128 rollback segment(s) are active.2018-03-09 10:41:08 5128 [Note] Inn..._gtid主从配置是否需要开启skip_slave_start

java http url 读取远程文件-程序员宅基地

文章浏览阅读1.5k次。private static String readUrlFile(String url) { BufferedReader reader = null; StringBuilder content = new StringBuilder(); try { URL httpUrl = new URL(url); String line = null; CookieHandler.set.

推荐文章

热门文章

相关标签