zoukankan      html  css  js  c++  java
  • 第二次结对开发

    一.开发思路

        先设计一个3行4列的矩阵。

        然后将12行的每一列相加作为第4行。

        将23行的每一列相加作为第5行。

        将123行的每一列作为第六行。

        然后列出每一行的子数组求出最大值。

        最后比较每一行的最大值的大小,求出最终结果。

      小组成员:付东,岳竞一

        付东负责实验代码的编写,岳竞一负责纠错测试,共同讨论实验思路。

    二.开发代码

    #include<iostream.h>
    int main()
    {
      int x,y,n,m;
      int s[10][20];
      // int a[10][20];
      int sum[10][20];
      cout<<"请输入3行4列的矩阵:"<<endl;
      int a[][4]={10,-6,-1,3,-7,20,3,7,-2,4,2,-19} ;
      for(x=0;x<3;x++)
      {
        for(y=0;y<4;y++)
        {
          cout<<a[x][y]<<" ";
        }
        cout<<endl;
      }

    //---------------------------以上是数组的输入

    for(y=0;y<4;y++)
    {
      for(x=0;x<3;x++)
      {
      s[x][y]=a[x][y];
      }
    }


    for(x=0;x<2;x++)
    {
      for(y=0;y<4;y++)
      {
      s[x+3][y]=a[x][y]+a[x+1][y];
      }
    }

    for(y=0;y<4;y++)
      {
        s[5][y]=a[0][y]+a[1][y]+a[2][y];
      }


    //---------------------------------------------------


    for(x=0;x<6;x++)
    {
      for(y=0;y<4;y++)
      {
        sum[x][y]=s[x][y];
      }
      for(y=0;y<3;y++)
      {
        sum[x][y+4]=s[x][y]+s[x][y+1];
      }
      for(y=0;y<2;y++)
      {
        sum[x][y+7]=s[x][y]+s[x][y+1]+s[x][y+2];
      }
      for(y=0;y<1;y++)
      {
        sum[x][y+9]=s[x][y]+s[x][y+1]+s[x][y+2]+s[x][y+3];
      }
    }

    //-------------------------------------------------------------------------
    /*
    for(x=0;x<6;x++)
    {
      for(y=0;y<10;y++)
      {


        if(sum[x][y]==30)
        cout<<x<<endl<<y<<endl;
      }

    }
    */
    //-----------------------------
    int max=sum[0][0];

    for(x=0;x<6;x++)
    {
      for(y=0;y<10;y++)
      {
        if(sum[x][y]>max)
        {
          max=sum[x][y];
          n=x;
          m=y;

        }
      }

    }
    //--------------------------------------求最大数


    if(n<3)
    {
      cout<<"数组开始行:"<<n+1<<endl<<"数组结束行:"<<n+1<<endl;
    }
    else
    {
      n=n%3;
      switch(0)
      {
        case 0:cout<<"数组开始行:"<<n<<endl<<"数组结束行:"<<n+1<<endl;break;
        case 1:cout<<"数组开始行:"<<n<<endl<<"数组结束行:"<<n+1<<endl;break;
        case 2:cout<<"数组开始行:"<<n<<endl<<"数组结束行:"<<n+2<<endl;break;

      }
    }

    //-----------------------------------------------------------------------------求子数组开始的行
    if(m<4)
    {
      cout<<"数组开始列:"<<m<<endl<<"数组开始列:"<<m<<endl;
    }
    else if(m>3&&m<8)
    {
      {
        m=m%4;
        switch(m)
        {
          case 0:cout<<"数组开始列:1"<<endl<<"数组结束列:2"<<endl;break;
          case 1:cout<<"数组开始列:2"<<endl<<"数组结束列:3"<<endl;break;
          case 2:cout<<"数组开始列:3"<<endl<<"数组结束列:4"<<endl;break;
          case 3:cout<<"数组开始列:1"<<endl<<"数组结束列:3"<<endl;break;



        }
      }
    }
    else if(m>7)
    {
      m=m%8;
      switch(m)
      {
        case 0:cout<<"数组的开始行:2"<<endl<<"数组的结束列:4"<<endl;break;

        case 1:cout<<"数组的开始行:1"<<endl<<"数组的结束列:4"<<endl;break;
      }
    }


    cout<<"最大的子数组和为:max="<<max<<endl;

    return 0;

    }

    三.开发结果截图

                           

    四、结对的总结

        感觉老师说的很对,不能依靠别人,或者说让别人带着把,我的编程能力不如另一个伙伴,这样显然是不行的,还是得自己多编多练,不能在编程的过程中只给想法,碰到问题却不能回答些技术型的问题。

    五、好基友

  • 相关阅读:
    一种针对SOA的消息类型架构
    许可方式 到底"非商业用途"意味着什么?
    Windows 7的CMD中 Telnet 无法执行的解决办法
    ASP.NET MVC 2.0 中文正式版发布
    什么是REST?
    架构、框架的区别
    Firefox 火狐下自动刷新的插件 ReloadEvery
    ASP.NET与JQUERY的AJAX文件上传 视频课件+源码Demo
    给吸烟的园友们:一个被烟草行业隐瞒了十年的秘密,烟真不是人吸的
    Echo Server,AsyncSocket,SocketAsyncEvent,SocketAsyncEventArgs,AsyncQueue
  • 原文地址:https://www.cnblogs.com/yue3475975/p/4357016.html
Copyright © 2011-2022 走看看