tag 标签: C程序经管大学堂:名校名师名课

相关帖子

版块 作者 回复/查看 最后发表

相关日志

分享 我的连连看,哈哈
lww1993 2013-9-15 08:05
// Lianliankan.cpp : Defines the entry point for the console application. //我们假定最初的矩阵没有满足条件的三连同 #include "stdafx.h" void main(){ bool equal(char a,char b,char c); char a ={{'A','S','T','M','B'}, {'D','E','S','T','V'}, {'I','F','T','S','T'}, {'M','Z','U','G','R'}, {'L','W','S','M','V'}}; int i,j;//i,j作为索引的下标; int flag=0;//flag做为发现三个相同字母的标志; for(i=0;i5;i++){ for(j=0;j5;j++){ //先假设某个元素与其横向的下一个元素做交换 //横向交换后横向可能有两个位置出现三个相同的元素 //第一种情况 if(j+3=4){ if(equal(a ,a ,a )) flag=1; } //第二种情况 if(j+1=4j-2=0){ if(equal(a ,a ,a )) flag=1; } //横向交换后纵向可能有六个位置出现三个相同的元素 //第一种情况 if(i-2=0j+1=4){ if(equal(a ,a ,a )) flag=1; } //第二种情况 if(i-1=0i+1=4j+1=4){ if(equal(a ,a ,a )) flag=1; } //第三种情况 if(i+2=4j+1=4){ if(equal(a ,a ,a )) flag=1; } //第四种情况 if(i-2=0j+1=4){ if(equal(a ,a ,a )) flag=1; } //第五种情况 if(i-1=0i+1=4j+1=4){ if(equal(a ,a ,a )) flag=1; } //第六种情况 if(i+2=4j+1=4){ if(equal(a ,a ,a )) flag=1; } //再假设某个元素与其纵向的下一个元素做交换 //纵向交换后横向可能有六个位置出现三个相同的元素 //第一种情况 if(j-2=0i+1=4){ if(equal(a ,a ,a )) flag=1; } //第二种情况 if(j-1=0j+1=4i+1=0){ if(equal(a ,a ,a )) flag=1; } //第三种情况 if(i+1=4j+2=4){ if(equal(a ,a ,a )) flag=1; } //第四种情况 if(j-2=0i+1=4){ if(equal(a ,a ,a )) flag=1; } //第五种情况 if(i+1=4j+1=4j-1=0){ if(equal(a ,a ,a )) flag=1; } //第六种情况 if(i+1=4j+2=4){ if(equal(a ,a ,a )) flag=1; } //纵向交换后纵向可能有两个位置出现三个相同的元素 //第一种情况 if(i-2=0i+1=4){ if(equal(a ,a ,a )) flag=1; } //第二种情况 if(i+3=4){ if(equal(a ,a ,a )) flag=1; } if(flag==1) break; } if(flag==1) break; } if(flag==1) printf("We have found the index(%d,%d)\n",i,j); else printf("It is a pity such an element has not been found."); } bool equal(char a,char b,char c){ return((a==b)(b==c)); }
个人分类: 程序|21 次阅读|0 个评论
GMT+8, 2025-12-27 08:55