1. #include<bits/stdc++.h>
    2. using namespace std;
    3. const int SIZE=100;
    4. int matrix[SIZE+1][SIZE+1];
    5. int rowsum[SIZE+1][SIZE+1];
    6. int m,n,i,j,first,last,area,ans;
    7. int main(){
    8. cin>>m>>n;
    9. for(i=1;i<=m;i++){
    10. for(j=1;j<=n;j++){
    11. cin>>matrix[i][j];
    12. }
    13. }
    14. ans=matrix//1
    15. for(i=1;i<=m;i++){
    16. //2
    17. }
    18. for(i=1;i<=m;i++){
    19. for(j=1;j<=n;j++){
    20. rowasum[i][j]= //3
    21. }
    22. }
    23. for(first=1;first<=n;first++){
    24. for(last=first;last<=n;last++){
    25. //4
    26. for(i=1;i<=m;i++){
    27. area+= //5
    28. if(area>ans) ans=area;
    29. if(area<0) area=0;
    30. }
    31. }
    32. }
    33. cout<<ans<<endl;
    34. return 0;
    35. }

    二维数组矩阵转换

    1. #include<bits/stdc++.h>
    2. using namespace std;
    3. int main(){
    4. int arr[100][100];
    5. int brr[100][100];
    6. for(int i=0;i<3;i++){
    7. for(int j=0;j<2;j++){
    8. cin>>arr[i][j];
    9. }
    10. }
    11. for(int i=0;i<2;i++){
    12. for(int j=0;j<3;j++){
    13. brr[i][j]=arr[j][i];
    14. cout<<brr[i][j];
    15. }
    16. cout<<endl;
    17. }
    18. return 0;
    19. }
    1. int*Matrix(const int*matrix,int size_r,int size_c,int*new_matrix){
    2. //打印原数据
    3. int flag=0;
    4. for(int i=0;i<size_r*size_c;i++){
    5. cout<<matrix[i]<<" ";
    6. flag++;
    7. if(flag==size_c){
    8. cout<<endl;
    9. flag=0;
    10. }
    11. }
    12. //2.转置
    13. for(int row=0;row<size_r;row++){
    14. for(int col=0;col<size_c;col++){
    15. new_matrix[col*size_r+row]=matrix[row*size_c+col];
    16. }
    17. }
    18. return NULL;
    19. }
    20. int main(){
    21. int arr[6]={1,2,3,4,5,6};
    22. int row=-1,col=-1;
    23. cout<<"请输入矩阵的行数和列数:";
    24. cin>>row>>col;
    25. int*brr=new int [row*col];
    26. Matrix(arr,row,col,brr);
    27. }