軟體工程 陣列

2022-07-24 16:48:27 字數 1264 閱讀 2473

題目:返回乙個整數陣列 中最大子陣列的和。

要求:「要求程式必須能處理1000 個元素;

每個元素是int32型別的,出現子陣列之和大於整型表示的最大範圍會出現什麼情況; 

輸入乙個整形陣列, 陣列裡有正數也有負數。

陣列中連續的一 個或多個整數組成乙個子陣列, 每個子陣列都有乙個和。

求所有 子陣列的和的最大值。要求時間複雜度為0(n)。

課堂練習&課下作業結對程式設計要求:

「兩人結對完成程式設計任務。

"一 人主要負責程式分析,**程式設計。「一人負 責**複審和**測試計畫。

發表一 篇部落格文章講述設計思想,出現的問題,可能的解決方案(多選)、源**、結果截圖、總結。  (截止時間10月14日晚18:00之前)  

設計思想:先找到儲存的最大數,從左往右開始遍歷,這個過程記錄到目前為止的最大子陣列,maxsofar記錄到目前為止(從a[0]到a[i])的的最大值,maxendinghere記錄從當前位置開始(即a[j])往前幾個連續的數的和的最大值。

出現的問題:時間複雜度不是很懂,處理1000個元素不知怎樣實施,什麼是溢位現象的問題。

解決方案:c語言中,含n個元素的陣列下標從0開始,到n-1結束,而c語言中沒有提供陣列越界檢查的機制,一旦發生陣列溢位,就會造成記憶體的非法訪問。可能導致程式崩潰。

源**

#include

using namespace std;

int max(int a,int b)

else

}int maxsum(int a, int n)

return maxsofar;

}int main()

;for(i=0;i>a[i];

}int max=maxsum(a, n);

cout << "最大子陣列的和為:" << max << endl;

return 0;

}總結:在編寫有關陣列方面的程式時,要特別注意陣列溢位情況;

常規測試

win32,溢位:

處理1000:

有圖有真相:組員:

張佳瑋

軟體工程 軟體工程概述

一.軟體 定義 計算機系統中的程式及其文件 程式 計算任務的處理物件和處理規則的描述 文件 為了便於了解程式所需的闡明性資料 特點 軟體的種類 按功能劃分 系統軟體 支援軟體 應用軟體 二.軟體工程的起源和概念 早期電腦程式 現在人們認為 在資訊產業中,微電子是基礎,計算機和網路是載體,軟體是核心 ...

軟體工程 軟體工程的概述

軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考 驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,它涉及到程式語言 資料庫 軟體 開發工具 系統平台 標準 設計模式等方面。先從軟體工程的第一章開始說起 軟體工程的概述,這一章是...

軟體工程之軟體工程管理

乙個好的工程需要配套的管理體系,軟體工程也不列外。軟體工程就我的理解就是對軟體工程的各個階段都一定規範,俗話說 不以規矩,不能成方圓 而這個規矩就由管理來充當。乙個軟體工程管理需要軟體專案計畫 成本估算 進度計畫 風險分析和人員的組織形式 或調動 一 在軟體專案計畫中,專案的任務是研究專案的效能 功...