一、題目
求二維矩陣中和最大的子矩陣。
二、設計思路
將二維陣列轉化為一維陣列,在運用一維陣列求最大子陣列方法求出。c[0]=a[0];c[1]=a[0]+a[1];依次往下。
將二維陣列存到txt檔案中。
三、源**
1 #include2 #include3四、截圖void writefile(int a[20],int length,int row)//
檔案寫入
413 outfile<
15outfile.close();16}
17int max1(int a,int
n);18
int column(int a[20],int length,int num1) //
求最大和19;
27for(int j=0;j)
2836 p=p+1;37
}38for(int o=0;o<100;o++)
3942}43
for(int l=0;l)
4451 e[y++]=max1(d,length);
52//
cout<53}54
int max=e[0
];55
for(int i=0;i)
5661}62
return
max;63}
64int max1(int a,int n) //
球一維最大和
6586}87
if(u==1)88
100else
101105
}106
else
107112
else
113116
}117
118}
119else
if(a[i]<0
)120
127else
128132
}133
else
134139
else
140143
}144
}145
}146 m=j;
147if(b[0]<0
)148
151else
152155
//對陣列b進行操作,將利用演算法求的機最大值存入陣列c中
156for(int y=j;y2
)157
169}
170else
171174
}175
else
176179
180}
181//
對陣列c求最大值
182 max=c[0
];183
for(i=0;i)
184189
}190
return
max;
191}
192else
193201
}202
return
max;
203}
204}
205int
main()
206224
}225
writefile(a,length,index);
226227
int s=column(a,length,index);
228 cout<
最大和為:
"229return0;
230 }
五、實驗總結
本次實驗在檔案寫入方面,我與他找了些許資料。最終解決了。在思路方面,我們想延用以為陣列的方法,但是對於我想象不到如何二維陣列怎麼使用,但是他提出我們把所有的都列舉出來吧。頓時想到轉化為一維陣列的方法,運用到了程式裡。乙個人的思維總是有限的,只有思想的碰撞,往往才有更多的激發。
六、我們的合照
求乙個矩陣中最大的二維矩陣 元素和最大
35.矩陣 求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 遍歷每個二維矩陣,記錄和最大的index。時間複雜度o m n coder lee,2012032...
求乙個矩陣中最大的二維矩陣 元素和最大
求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 public class maxsubmatrix int b int result msm.findsumm...
求乙個矩陣中最大的二維矩陣 元素和最大
一,題目 求乙個矩陣中最大的 二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 5 5 3要求 1 寫出演算法 2 分析時間複雜度 3 用c 寫出關鍵 二,分析 假設最大子矩陣的結果為從第r行到 k行 從第i列到 j列的子矩陣,如下所示 ari 表...