#include <iostream>
#include <iomanip>
using namespace std;
int find_max(int *p,size_t n2){
7 int max_value=0;
8 int arr=0;
9 for(size_t i =0;i < n2;i ++){
10 for(size_t j =i;j < n2;i ++){
11 arr=0;
12 for(size_t l=i;l <= j;l ++){
13 arr += p[l];
14 }
15 if(arr > max_value){
16 max_value = arr;
17 }
18 }
19 }
20 return max_value;
21 }
39 int main(){
40 size_t n1=10,n2 = 15;
41 int *p=new int [n2];
42 int ret;
43 srand(NULL);
44 for(size_t i=0;i < n2;i ++){
45 p[i]= rand() % 83 - 44;
46 cout <<setw(5) << p[i] ;
47 }
48 cout << endl;
49 cout << "max"<< endl;
50 ret = find_max(p,n2);
}
第十行:
10 for(size_t j =i;j < n2;i ++){
这儿写错了,应该是j++,写成如下形式: for(size_t j =i;j < n2;j ++){
否则不就是个死循环嘛。
我以为是语法错误,原来是细节错误,谢谢你
求最大值嵌套3个FOR循环,你在逗我?
是编译运行出错了。编译后运行的额时候有错误的,要不你编译一下试试看
使用冒泡排序循环得到最大值嘛!
编译运行出错