Computer >> Máy Tính >  >> Lập trình >> C ++

C ++ Chương trình tìm tổng của mảng con lớn nhất O (n ^ 2) thời gian (phương pháp ngây thơ)

Chúng tôi sẽ phát triển một chương trình C ++ để tìm tổng thời gian tối đa của mảng con là O (n ^ 2) (phương pháp ngây thơ).

Thuật toán

 Begin Lấy các phần tử của mảng làm đầu vào. Tạo một vòng lặp cho độ dài của mảng con từ 1 đến n, trong vòng lặp này, Tạo một vòng lặp khác lồng với mảng trước đó, tính tổng của mảng con đầu tiên có độ dài đó. Đối với tổng mảng con còn lại, hãy cộng phần tử tiếp theo vào tổng và trừ phần tử đầu tiên của mảng con đó. So sánh nó với mức tối đa toàn cầu và cập nhật nếu phát hiện ra là nhiều hơn. In ra mảng con tối đa và kết quả là tổng của chúng. 

Mã mẫu

 #include  using namespace std; int main () {int n, i, j, m =-1, s, ini_m, fi_m; cout <<"\ nNhập số phần tử dữ liệu vào mảng:"; cin>> n; int a [n]; for (i =0; i > a [i]; } for (i =1; i  

Đầu ra

 Nhập số phần tử dữ liệu trong mảng:10Nhập phần tử 1:1Nhập phần tử 2:-2Nhập phần tử 3:3Nhập phần tử 4:-4Nhập phần tử 5:5Nhập phần tử 6:-6Nhập phần tử 7:7Nhập phần tử 8:8Nhập phần tử 9:-9Nhập phần tử 10:10Mảng con tối đa là:7 8 -9 10Tổng mảng con tối đa là:16