| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:求差异度,同样一到八,乱序排列,求两个乱序之间的差异度,同一位置元素不 ...
只看楼主 加入收藏
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:3 
求差异度,同样一到八,乱序排列,求两个乱序之间的差异度,同一位置元素不同+1
比如:1 3 7 4 8 6 2 5
    与1 8 5 6 7 3 4 2
        1 1 1 1 1 1 1 总共差异度是7;怎么求?
搜索更多相关主题的帖子: 元素 
2017-01-02 20:02
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define pailiejuxingnum 8
#define chushiyinghuochongnum 10
int yinghuochong[chushiyinghuochongnum+1][pailiejuxingnum+1];
int pailiejiaodu[chushiyinghuochongnum+1][pailiejuxingnum+1];
double chayishu[chushiyinghuochongnum+1][chushiyinghuochongnum+1];

void shengchengfirefly()   //生成初始萤火虫
{   
   int i,j,k;
   srand(time(0));
   printf("初始萤火虫是:\n");
   for(i=1;i<=chushiyinghuochongnum;i++)
   {
   for(j=1;j<=pailiejuxingnum;j++)
   
   {
      pailiejiaodu[i][j]=rand()%2;
      yinghuochong[i][j]=rand()%pailiejuxingnum+1;
      for(k=1;k<j;k++)
      {
          if(yinghuochong[i][j]==yinghuochong[i][k])
          {
          yinghuochong[i][j]=rand()%pailiejuxingnum+1;
          k=0;
          }
      }
      printf("%d,%d\t",yinghuochong[i][j],pailiejiaodu[i][j]);
   }
   }
}
void main()
{
    //计算任何两个萤火虫之间的元素差异数
    int i,j,k;
    shengchengfirefly();
    for(i=1;i<=chushiyinghuochongnum;i++)
    {
        for(j=1;j<=chushiyinghuochongnum;j++)
        {   
            int t=0;   
            for(k=1;k<=pailiejuxingnum;k++)
            {
                if(yinghuochong[i][k]!=yinghuochong[j][k])
                    t=t+1;   
            }

            chayishu[i][j]=t;

            //此时的i,j表示某两个个萤火虫之间

            printf("第%d与%d个萤火虫间汉明距离:%d\n",i,j,chayishu[i][j]);

            t=0;
         //两个萤火虫之间代码不同的数量
        }
    }
}
//基于轮盘赌方式选择移动  比自身荧光亮度大的方向移

不知道有什么问题,怎么回事?!
2017-01-02 20:03
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:10 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define pailiejuxingnum 8
#define chushiyinghuochongnum 10
int yinghuochong[chushiyinghuochongnum+1][pailiejuxingnum+1];
int pailiejiaodu[chushiyinghuochongnum+1][pailiejuxingnum+1];
int chayishu[chushiyinghuochongnum+1][chushiyinghuochongnum+1];

到底是数据类型问题~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-02 20:22
tang12
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-12-16
收藏
得分:0 
回复 3楼 九转星河
对呀,后来看到了,就是数据类型的问题,一直感觉逻辑没错呀,后来一看就是数据类型的事,改一下就好了,谢谢了
2017-01-03 11:03
快速回复:求差异度,同样一到八,乱序排列,求两个乱序之间的差异度,同一位置元 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036055 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved