PS:请注意这个数组有两行符合条件!
10 个解决方案
#1
没人回答 自己顶先!
#2
数据中的数据可以删除,但是把一行删除难度大了点,vb里还有redim,c#里是不是有替代品啊!
#3
int[,] result = {
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
for(int j = 0; j < 5; j++)
{
//删除result[i,j]
}
}
}
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
for(int j = 0; j < 5; j++)
{
//删除result[i,j]
}
}
}
#4
删除一行实际上就是把一行的元素一个一个删掉,放在一个方法里,感觉就是一次删除了一行,在计算机中,永远没有所谓的一次或同时这种概念。
只是在C#中数组一旦声明就是定长的,你这里的删掉应该怎么理解
只是在C#中数组一旦声明就是定长的,你这里的删掉应该怎么理解
#5
首先应该判断一行中有几个偶数 如果有四个的话 就把这行删除掉 如果偶数个数不是四个则继续判断
直到把这个二维数组判断完为止!
直到把这个二维数组判断完为止!
#6
在C#中不能删除数组中的元素的,只对修改元素的值!,你要删除,除非再新建一个少一行的数组,再把你要的数据放进去!很麻烦,但只有如此!代码和我之前贴的差不多!
#7
哦 多谢!我试下先!
#8
现在又出现这样的问题:如果第一行满足条件 会用0代替 (我是用0代替删除的行)但是发现循环不了
还有就是如果不是第一行满足条件 那就会根本不执行判断
这是怎么回事呀!超级郁闷!
还有就是如果不是第一行满足条件 那就会根本不执行判断
这是怎么回事呀!超级郁闷!
#9
int [,] reslut = {{1,2,4,8},{4,6,5,8},{3,5,8,9},{4,5,6,10},{5,7,8,12},{6,8,11,14}};
int len = reslut.Length/4;
int flag;
flag = 0;
for(int i =0;i<len;i++)
{
for(int j =0;j<4;j++)
{
if(reslut[i,j]%2 == 0)
{
flag++;
}
}
if(flag == 3)
{
for(int j=0;j<4;j++)
{
Array.Clear(reslut,i,4);
}
}
}
请帮我看看这段代码是怎么回事? 它只能循环到第一行!超郁闷!
int len = reslut.Length/4;
int flag;
flag = 0;
for(int i =0;i<len;i++)
{
for(int j =0;j<4;j++)
{
if(reslut[i,j]%2 == 0)
{
flag++;
}
}
if(flag == 3)
{
for(int j=0;j<4;j++)
{
Array.Clear(reslut,i,4);
}
}
}
请帮我看看这段代码是怎么回事? 它只能循环到第一行!超郁闷!
#10
int[,] result = {
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
//判断三连数
for (int k=0; k<3; k++)
{
if ((num[i+1] == num[i]+1) && (num[i+2] == num[i]+2))
{
Array.Clear(result,i*5,5);
}
}
//判断偶数
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
Array.Clear(result,i*5,5);
}
}
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
//判断三连数
for (int k=0; k<3; k++)
{
if ((num[i+1] == num[i]+1) && (num[i+2] == num[i]+2))
{
Array.Clear(result,i*5,5);
}
}
//判断偶数
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
Array.Clear(result,i*5,5);
}
}
#1
没人回答 自己顶先!
#2
数据中的数据可以删除,但是把一行删除难度大了点,vb里还有redim,c#里是不是有替代品啊!
#3
int[,] result = {
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
for(int j = 0; j < 5; j++)
{
//删除result[i,j]
}
}
}
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
for(int j = 0; j < 5; j++)
{
//删除result[i,j]
}
}
}
#4
删除一行实际上就是把一行的元素一个一个删掉,放在一个方法里,感觉就是一次删除了一行,在计算机中,永远没有所谓的一次或同时这种概念。
只是在C#中数组一旦声明就是定长的,你这里的删掉应该怎么理解
只是在C#中数组一旦声明就是定长的,你这里的删掉应该怎么理解
#5
首先应该判断一行中有几个偶数 如果有四个的话 就把这行删除掉 如果偶数个数不是四个则继续判断
直到把这个二维数组判断完为止!
直到把这个二维数组判断完为止!
#6
在C#中不能删除数组中的元素的,只对修改元素的值!,你要删除,除非再新建一个少一行的数组,再把你要的数据放进去!很麻烦,但只有如此!代码和我之前贴的差不多!
#7
哦 多谢!我试下先!
#8
现在又出现这样的问题:如果第一行满足条件 会用0代替 (我是用0代替删除的行)但是发现循环不了
还有就是如果不是第一行满足条件 那就会根本不执行判断
这是怎么回事呀!超级郁闷!
还有就是如果不是第一行满足条件 那就会根本不执行判断
这是怎么回事呀!超级郁闷!
#9
int [,] reslut = {{1,2,4,8},{4,6,5,8},{3,5,8,9},{4,5,6,10},{5,7,8,12},{6,8,11,14}};
int len = reslut.Length/4;
int flag;
flag = 0;
for(int i =0;i<len;i++)
{
for(int j =0;j<4;j++)
{
if(reslut[i,j]%2 == 0)
{
flag++;
}
}
if(flag == 3)
{
for(int j=0;j<4;j++)
{
Array.Clear(reslut,i,4);
}
}
}
请帮我看看这段代码是怎么回事? 它只能循环到第一行!超郁闷!
int len = reslut.Length/4;
int flag;
flag = 0;
for(int i =0;i<len;i++)
{
for(int j =0;j<4;j++)
{
if(reslut[i,j]%2 == 0)
{
flag++;
}
}
if(flag == 3)
{
for(int j=0;j<4;j++)
{
Array.Clear(reslut,i,4);
}
}
}
请帮我看看这段代码是怎么回事? 它只能循环到第一行!超郁闷!
#10
int[,] result = {
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
//判断三连数
for (int k=0; k<3; k++)
{
if ((num[i+1] == num[i]+1) && (num[i+2] == num[i]+2))
{
Array.Clear(result,i*5,5);
}
}
//判断偶数
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
Array.Clear(result,i*5,5);
}
}
{1,2,3,4,5},
{3,4,6,10,14},
{5,6,8,12,14},
{9,10,11,12,15}
};
for(int i = 0; i < 4; i++)
{
//判断三连数
for (int k=0; k<3; k++)
{
if ((num[i+1] == num[i]+1) && (num[i+2] == num[i]+2))
{
Array.Clear(result,i*5,5);
}
}
//判断偶数
int flag = 0;
for(int j = 0; j < 5; j++)
{
if(result[i,j] % 2 == 0)
flag ++;
}
if(flag >= 4)
{
Array.Clear(result,i*5,5);
}
}