当前位置:编程学习 > C#/ASP.NET >>

小白求救,高人帮忙解一道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];//最小值
--------------------编程问答--------------------
引用 13 楼 wuyazhe 的回复:
C# code

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……



很深奥 --------------------编程问答--------------------
引用 13 楼 wuyazhe 的回复:
C# code

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……



好方便啊,....
学习一下. --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 这娃太懒 --------------------编程问答-------------------- 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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,