小白求救,高人帮忙解一道C#题目
用C#语言设计实现函数,函数功能:从二维数组中找出值最大和最少的元素,并打印出元素所在行列号(visual studio 2008调试成功即可)
哪位高人帮忙解答一下~~ --------------------编程问答-------------------- 最傻的办法遍历二位数组,定义两个变量max和min,每次比较两次大小,对max和min赋值对应的行列号 --------------------编程问答-------------------- 额,我想要源代码。。 --------------------编程问答-------------------- 这是你的作业吧?作业最好还是自己做,这样才能记得牢固。请人帮忙固然快,但是没有学到东西,伤害的还是自己。
实际上,二维跟一维没有什么区别。只是遍历的时候从一个循环变成两个循环而已。循环里面的代码几乎完全一致。具体还是多思考一下吧。 --------------------编程问答-------------------- int[,] data = { { 1, 2 }, { 4, 5 }, { 0, 3 } };
int max_r = 0, max_c = 0, max = int.MinValue, min_r = 0, min_c = 0, min = int.MaxValue;
for (int r = 0; r < data.GetLength(0); r++)
{
for (int c = 0; c < data.GetLength(1); c++)
{
if (data[r, c] > max)
{
max_r = r;
max_c = c;
max = data[r, c];
}
if (data[r, c] < min)
{
min_r = r;
min_c = c;
min = data[r, c];
}
}
}
Console.WriteLine("最大:" + max.ToString() + "位置:[" + max_r.ToString() + "," + max_c.ToString() + "]");
Console.WriteLine("最小:" + min.ToString() + "位置:[" + min_r.ToString() + "," + min_c.ToString() + "]");
Console.ReadKey();
以上内容来源于CSDN社区帖子
--------------------编程问答-------------------- 双重循环遍历就完了
--------------------编程问答-------------------- LS正解 --------------------编程问答-------------------- int[,] tt ={ { 10, 2 }, { 100, 0 } };
int tmpmax = tt[0,0];
int tmpmin = tt[0,0];
int a = 0,b=0,c=0,d=0;
for (int i = 0; i < tt.GetLength(0); i++)
{
for (int j = 0; j <= tt.GetLength(1); j++)
{
if (tt[i, j] > tmpmax)
{
tmpmax = tt[i, j];
a = i;
b = j;
}
if (tt[i, j] < tmpmin)
{
tmpmin = tt[i, j];
c = i;
d = j;
}
}
}
Response.Write(tmpmax + "-" + a + "-" + b+"-"+tmpmin + "-" + c +"-" + d); --------------------编程问答-------------------- for
for
遍历比较 保存max 和min 跟max min比较 --------------------编程问答-------------------- 冒泡。。。 --------------------编程问答-------------------- 跟冒泡差不多 --------------------编程问答-------------------- int[,] data = { { 1, 2 }, { 4, 5 }, { 0, 3 } };
int max_r = 0, max_c = 0, max = int.MinValue, min_r = 0, min_c = 0, min = int.MaxValue;
for (int r = 0; r < data.GetLength(0); r++)
{
for (int c = 0; c < data.GetLength(1); c++)
{
if (data[r, c] > max)
{
max_r = r;
max_c = c;
max = data[r, c];
}
if (data[r, c] < min)
{
min_r = r;
min_c = c;
min = data[r, c];
}
}
}
Console.WriteLine("最大:" + max.ToString() + "位置:[" + max_r.ToString() + "," + max_c.ToString() + "]");
Console.WriteLine("最小:" + min.ToString() + "位置:[" + min_r.ToString() + "," + min_c.ToString() + "]");
Console.ReadKey(); --------------------编程问答-------------------- LS的那样 看看数据结构和算法 --------------------编程问答--------------------
--------------------编程问答--------------------
int[] arr = new int[1000];//假设我们随机1000个数据找最大最小
Random rnd = new Random(Environment.TickCount);//随机变量
for (int i = 0; i < 1000; i++) arr[i] = rnd.Next();//随机赋值
Array.Sort(arr);//数组排序
int max = arr[arr.Length - 1];//最大值
int min = arr[0];//最小值
很深奥 --------------------编程问答--------------------
好方便啊,....
学习一下. --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 这娃太懒 --------------------编程问答-------------------- int [,] array = new int [2,2];
var value = from v in array[i] select v;
int s = Array.FindIndex(value.ToArray(), v => v.Equals(value.Max())); --------------------编程问答-------------------- 就两个东西遍历获取数据和数据之间的比较
数据结构参考书上都有 做个冒泡算法就搞定 --------------------编程问答-------------------- 啊哈,太感谢各位大侠了,其实这不是作业,是期末考试的题目,我们同学编译总是出错~~
补充:.NET技术 , C#