• 结对编程开发--课程练习


    题目:返回一个整数数组中最大数组的和。

      要求:

        输入一个整形数组,数组里有正也有负。

        数组中连续的一个或多个整数组成一个数组,每个字数组都有一个和。

        球所有字数组的和的最大值,要求时间复杂度为0(n)。

        结对编程。

    实现过程:

      因为要求时间复杂度为0(n),所以本题难以通过简单学过的算法来解决,

      必须结合数组的特点。我负责编程,附上源码和结果。

      程序源代码:

     1 #include<iostream>
     2 #include<ctime>
     3 using namespace std;
     4 int main()
     5 {
     6     clock_t start, finish;  
     7     double  duration;  
     8     /* 测量本程序计算运行时间*/  
     9     start = clock();   
    10     srand((unsigned)time(NULL)); 
    11     int * arr=new int[10];
    12     int result,sum=0,k=0;
    13     int randoms,count1=0,count2=0,c1=0,c2=0;
    14 
    15     cout<<"随机产生10个数值:
    "<<endl;
    16     for ( int i=0; i<10; i++ ) {
    17         randoms = ( -rand()%100 + ( rand()%100 ) );
    18         arr[i] = randoms;
    19         cout<<"数组元素"<<i+1<<"分别为:"<<arr[i]<<endl;
    20     }
    21     result=arr[0];
    22     for ( int j=0; j<10; j++ ) {
    23         if ( sum>=0 ){ c2=j; sum+=arr[j]; }
    24         else { c1=j; sum=arr[j]; }
    25         if( result < sum ) {
    26             count1=c1;
    27             count2=c2;
    28             result=sum;
    29         }
    30     }
    31     cout<<endl<<"从第"<<count1+1<<"个元素到第";
    32     cout<<count2+1<<"个元素为最大数组"<<endl<<endl;
    33     cout<<"最大数组之和:"<<result<<endl<<endl;
    34 
    35     finish = clock();  
    36     duration = (double)(finish - start) / CLOCKS_PER_SEC;  
    37     cout<<"程序运行时间:"<<duration<<endl;  
    38 
    39     return 0;
    40 }

      程序运行结果:

       多次运行结果符合要求。

    结对开发总结

        我和我的小组组成员(信1201-1班 翟凯)通过这次结对编写程序,发现编程不再是一个人的事,互相有了新的想法就可以进行交流,

      共同分享更漂亮的完成结果的喜悦。

    下面是我们的合作剪影(^_^):

       

     

  • 相关阅读:
    UIWebView长按弹出菜单显示英文解决办法
    远程推送不能获取token的原因(证书配置正确)
    汉字转拼音 汉字排序功能
    旋转360度动画
    获取wifi列表
    openssl生成私钥公钥的步骤
    JAVA后台框架优化之日志篇
    react native学习资料
    RAP, 高效前后端联调框架,接口文档管理工具
    【JMeter】JMeter在linux下运行
  • 原文地址:https://www.cnblogs.com/bill927/p/4346884.html
Copyright © 2020-2023  润新知