| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1208 人关注过本帖
标题:统计"相交点数的个数"最多的数是几的问题
只看楼主 加入收藏
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
收藏
已结贴  问题点数:10 回复次数:4 
统计"相交点数的个数"最多的数是几的问题
我编写了如下一段程序:
#include <stdio.h>
int main()
  { int a[13][13]={{1,2,3,4,5,6,7,8,9,10,11,12,13},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {8,8,8,8,8,8,8,8,8,8,8,8,8},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {8,8,8,8,8,8,8,8,8,8,8,8,8},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},
        {7,7,7,7,7,7,7,7,7,7,7,7,7},};
    int j,m1,m2,m3,m4,m5,m6,k0=1,k1=1,i,p=13,q=7;
    for(i=0;i<13;i++)
        {   for(j=0;j<13;j++)
            printf("%d ",a[i][j]);
            printf("\n"); }  
  for(m1=1;m1<p;m1++)
             { if(a[m1][0]==7 )  
               { k0=k0+1;
                printf("m1=%d ",m1);
                printf("相交点数是:%d,%d ",1,1+m1);
                printf("     相交点数是:%d,%d\n",1,p-m1+1);
                 for(m2=1;m2<p-m1;m2++)
                 if(a[m1+m2][0]==7 && a[m2][m1]==7 )   
                 {   k0=k0+1;
                     printf("m2=%d ",m2);
                     printf("相交点数是:%d,%d,%d",1,1+m1,1+m1+m2);
                     printf("     相交点数是:%d,%d,%d\n ",1,1+m1,p);
                      for(m3=1;m3<p-m1-m2;m3++)
                         if(a[m1+m2+m3][0]==7 && a[m2+m3][m1]==7  && a[m3][m1+m2]==7 )  
                             {   k0=k0+1;
                                 printf("m3=%d ",m3);
                                 printf("相交点数是:%d,%d,%d,%d ",1,1+m1,1+m1+m2,1+m1+m2+m3);
                                 printf("     相交点数是:%d,%d,%d,%d\n",1,1+m1,1+m1+m2,p);
                                for(m4=1;m4<p-m1-m2-m3;m4++)
                                    if(a[m1+m2+m3+m4][0]==7 && a[m2+m3+m4][m1]==7 && a[m3+m4][m1+m2]==7 && a[m4][m1+m2+m3]==7)  
                                          {   k0=k0+1;
                                              printf("m4=%d ",m4);
                                              printf("相交点数是:%d,%d,%d,%d,%d",1,1+m1,1+m1+m2,1+m1+m2+m3,1+m1+m2+m3+m4);
                                             
                                         printf("         ----- \n"); }
                                      
                                  printf("      ----- \n"); }
                            printf("   ----- \n"); }
                  printf("----- \n"); }
                  
                  }
        printf("计算0结束\n");           
      
          printf("统计:\n");                       
         printf("k0=%d\n",k0);
        return 0;
}
我想统计:“相交点数是”里面点数的个数最多的是几个:
比如:
图片附件: 游客没有浏览图片的权限,请 登录注册
这里相交点数的个数是2.
图片附件: 游客没有浏览图片的权限,请 登录注册
这里相交点数的个数是5.
图片附件: 游客没有浏览图片的权限,请 登录注册
这里相交点数的个数是4
这里相交点数的个数是不一样的,请问怎么找出个数最多的数(5)
图片附件: 游客没有浏览图片的权限,请 登录注册
我这里统计的数是138,明显不对,请问该如何改。
搜索更多相关主题的帖子: 相交 点数 个数 for printf 
2018-02-16 20:32
loboce
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:96
注 册:2014-6-7
收藏
得分:5 
我知道你所写的第二个for循环里的m1=1,然后使用m1的值做数组下标a[m1][0],数组的第一个数据是从0开始的。你的a[m1][0]就是a[1][0],是第二个了。还有你所说的相交点,怎样才算是相交点?第三,你的代码一点注析都没有,理解起来不是那么容易
2018-02-16 23:05
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:5 
虽然我不知道你这个代码是干什么的。。。。相交点数本身是怎么验证得出的。。。

如果你这个“相交点数”已知的数据范围就是1 to 13,那你可以新建一个计数的数组  count[14]={0};每找到一个相交点数,就把对应的数组下标位置存储的数加1.
最后跑一次循环,查看数组count里数据最大的那个下标,就是个数最多的那个相交点数。


强烈建议楼主把这个代码要解决的问题也一并贴上。否则外人是极难理解你的代码逻辑的

φ(゜▽゜*)♪
2018-02-17 00:06
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
这是我一时不查,犯下的一个错误,今晚时间不早了,明天我一定把问题的详细情况补充完整。谢谢你的提醒。
2018-02-17 00:25
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
    我知道该怎么做了。谢谢 。

[此贴子已经被作者于2018-2-18 06:12编辑过]

2018-02-17 22:15
快速回复:统计"相交点数的个数"最多的数是几的问题
数据加载中...
 
   



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

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