(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出。

(2) 编程输出杨辉三角的前10行。

找出一个,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点)。

/**
*
* @author liuhui
*@version Java上机实验三
*@time 2016.10.30
*/

public class javatest2 {
  public static int line = 0,row = 0;
  public static void main(String[] args) { //主函数
  int b[][] = array();
  int c[] = linearArray(b);
  double d[] = average(b);
  printArrayOne(b);
  System.out.println();
  printArrayTwo(c);
  System.out.println();
  printArrayTwo(d);
  System.out.println();
  triangle aTriangle = new triangle();

  aTriangle.print();
  int f[] = saddle(b, c);
  for(int i=0;i<f.length;i++)
  {
    if(f[i]==-1)
    break;
  else
    System.out.print(f[i]+" ");
  }

}

public static int[][] array() //获得随机二维数组
{
  int a[][] = new int[10][10];
  for(int i=0;i<10;i++)
  {
    for(int j=0;j<10;j++)
    {
      int r = (int) (Math.random()*10);
      a[i][j] = r;
     }
   }
  return a;
}
public static void printArrayOne(int a[][]) //打印二维数组
{
  for(int i=0;i<10;i++)
  {
    System.out.println();
    for(int j=0;j<10;j++)
    {
       System.out.print(a[i][j]);  
       System.out.print(" ");
    }
  }
  System.out.println();
}
public static void printArrayTwo(int a[]) //打印一维数组
{
  for(int i=0;i<10;i++)
  {
    System.out.print(a[i]+" ");
  }
}
public static void printArrayTwo(double a[])
{
  for(int i=0;i<10;i++)
  {
  System.out.print(a[i]+" ");
  }
}
public static int[] linearArray(int a[][]) //求每行数组的最大值
{
  int max = 0;

  int b[] = new int[10];
  for(int i=0;i<10;i++)
  {
    for(int j=0;j<10;j++)
    {
      if(max<a[i][j])
      {
        max = a[i][j];
        line = i;
        row = j;
      }
    }
    b[i] = max;
    max = 0;
  }
  return b;
}
public static double[] average(int a[][]) //求每列数组的平均数
{
  double b[] = new double[10];
  double sum = 0.0;
  for(int i=0;i<10;i++)
  {
    for(int j=0;j<10;j++)
    {
      sum = sum +a[i][j];
    }
    b[i] = sum/10;
    sum = 0.0;
  }
  return b;
}
public static int []saddle(int a[][],int b[]) //判断鞍点
{
  int c[] = new int [10];
  int m = 0;
  boolean k = true;
  for(int i=0;i<10;i++)
  {
    for(int j=0;j<10;j++)
    {
      if(b[i]>a[j][row])
      {
        k = false;
        break;
      }
    }
    if(k==true)
    {
      c[m] = b[i];
      m++;
    }
  }
  if(k==false)
  {
    System.out.println("没有鞍点");
    c[0] = -1;
  }
  return c;
  }
}

class triangle{ //做杨辉三角
public void print()
  {
    int b[][] = new int[10][];
    for(int i=0;i<10;i++)
    b[i] = new int[i+1];
    for(int i=0;i<10;i++)
    {
      for(int j=0;j<b[i].length;j++)
      {
        if(i==0||j==0||j==b[i].length-1)
          b[i][j] = 1;
        else
          b[i][j] = b[i-1][j-1] + b[i-1][j];
      }
     }

     for(int i=0;i<10;i++)
      {
        for(int k=9-i;k>=1;k--)
        System.out.print(" ");
        for(int j=0;j<i+1;j++)
        {
          System.out.print(b[i][j]+" ");
         }
        System.out.println();
      }

    }
}

最新文章

  1. Springboot搭建web项目
  2. [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
  3. 1.go的Hello
  4. completed solution matches microsoft sequential workflow tutorial
  5. Objective-C Runtime 运行时之三:方法与消息
  6. 获取用户ip接口
  7. 后缀自动机(SAM)模板
  8. opcache effect
  9. 杭电ACM求平均成绩
  10. [ An Ac a Day ^_^ ] CodeForces 525B Pasha and String 技巧
  11. 逆向实战第一讲,寻找OllyDbg调试工具的Bug并修复
  12. Alpha冲刺Day6
  13. Swift如何取得View所属的ViewController
  14. Android Studio(AS)--&gt;导入项目
  15. nginx主配置文件详解
  16. python第十八天 多态 和 私有
  17. sql拼接显示table的多个列
  18. OC学习1——基本数据类型
  19. 【tp5】ThinkCMF5框架,配置使其支持不同终端PC/WAP/Wechat能加载不同配置和视图
  20. &quot;废物利用&quot;也抄袭——“完全”DIY&quot;绘图仪&quot;&lt;一、准备工作&gt;

热门文章

  1. shell小命令
  2. Hadoop-No.3之序列化存储格式
  3. Linux Tomcat 文件上传异常
  4. js 密码为空显示错误
  5. Redis实战(18)Redis位图巧用,节约内存
  6. Python 运算符优先级
  7. HDU 3826 Squarefree number ( 唯一分解定理 )
  8. AtCoder AGC032E Modulo Pairing (二分、贪心与结论)
  9. centos7系统中忘记了root管理员账号密码
  10. Android_(自动化)自动获取手机电池的剩余电量