zoukankan      html  css  js  c++  java
  • 求最大子数组修改版10.11作业

    设计思想:

       在上次求最大子数组的基础上,增加一个求随机数的子函数,并且利用将随机数对2求余的方法,产生正、负数。
        对随机数函数的取值范围进行控制,控制在int32范围内。
        对代码进行运行和调试。
        经过上面的思路和不断调试,可以产生1000个范围内的数并进行计算,求得最大子数组。
    #include<iostream>
     #include<iostream>
     #include<time.h>
     #include<stdlib.h>
     using namespace std;
     #define NUM 1000 
     int DTGH_Sum(int a[],int n) //动态规划法求子段和函数
     { 	
    	 int sum = 0;	
    	 int *b = (int *) malloc(n * sizeof(int)); //动态为数组分配空间 
    	 b[0] = a[0]; 	
    	 for(int i = 1; i < n; i++) 
    	 { 		
    		 if(b[i-1] > 0) 			
    		b[i] = b[i - 1] + a[i]; 		
    		 else 		
    		b[i] = a[i]; 
    	 } 	
    	  for(int j = 0; j < n; j++) 	
    	  { 		
    		  if(b[j] > sum) 		
    		   sum = b[j]; 	
    	  } 	
    	  delete []b; //释放内存 	
    	  return sum; 
     } 
       int main() 
       {	
    	 int a[1005];	
    	 srand((unsigned)time(NULL));	
    	 int i;	
    	 for (i = 0; i < 1000; i++)	
    	 {  		
    		 int t;		
    		 t = rand()%2;		
    		 if(t==1) t=-1;		
    		 else t = 1;		
    		 a[i] = rand() * t;		
    		 cout<<rand()*t<<'	';	
       } 
    	 cout<<"最大子段和:";	
    	 cout<<DTGH_Sum(a,1000)<<endl; 	
    	 return 0;
       }
    

      运行图

     当数据超过int 32 类型范围以后

     

    和队友并肩作战的照片

  • 相关阅读:
    error C2440: 'initializing' : cannot convert from 'const char [11]' to 'ATL::CStringT<BaseType,Strin
    DB1:数据库的创建和文件的修改
    Django之Form表单
    Django内置的分页模块
    Cookie和Session
    AJAX使用说明书 基础
    JSON和Django内置序列化
    django之urls系统
    Django之views系统
    模板语言
  • 原文地址:https://www.cnblogs.com/4EY4EVER/p/9783597.html
Copyright © 2011-2022 走看看