50x50矩阵内画等腰直角三角形,并统计三角形内元素之和

来源:互联网 发布:米思米选型软件 编辑:程序博客网 时间:2024/04/27 13:42
#include <stdio.h>#include <stdlib.h>int data[6][6]={{},{0,1,0,0,0,0},{0,1,1,0,0,0},{0,1,2,1,0,0},{0,1,1,1,1,0},{}};int source_x,source_y;//int x_index = 1;//int y_index = 1;int index = 0;int Sum = 0;void print(){for(int i=0;i<6;i++){for(int j=0;j<6;j++){printf("%d ",data[i][j]);}printf("\n");}}bool isTriangle(int x,int y){int x_index = 1;int y_index = 1;bool ret = false;while((data[x+x_index][y]==1)&&(data[x+x_index][y+x_index])){x_index++;}while(data[x+x_index-1][y+y_index]==1){y_index++;}if((x_index == y_index)&&(x_index >= 4)&&(y_index >= 4)){ret = true;index = x_index;}return ret;}int getSum(int x,int y){int sum =0;int nx = x+2;int ny = y+1;int len = index - 3;for(int i=0;i<len;i++){for(int j=0;j<=i;j++){sum = sum +data[nx+i][ny+j];}}return sum;}int main(){print();for(int i=0;i<6;i++){for(int j=0;j<6;j++){if(data[i][j]==1){if(isTriangle(i,j)){source_x = i;source_y = j;Sum = getSum(i,j);}}}}printf("%d ",Sum);}

0 0