#include<bits/stdc++.h>
using namespace std;
const int SIZE=100;
int matrix[SIZE+1][SIZE+1];
int rowsum[SIZE+1][SIZE+1];
int m,n,i,j,first,last,area,ans;
int main(){
cin>>m>>n;
for(i=1;i<=m;i++){
for(j=1;j<=n;j++){
cin>>matrix[i][j];
}
}
ans=matrix//1
for(i=1;i<=m;i++){
//2
}
for(i=1;i<=m;i++){
for(j=1;j<=n;j++){
rowasum[i][j]= //3
}
}
for(first=1;first<=n;first++){
for(last=first;last<=n;last++){
//4
for(i=1;i<=m;i++){
area+= //5
if(area>ans) ans=area;
if(area<0) area=0;
}
}
}
cout<<ans<<endl;
return 0;
}
二维数组矩阵转换
#include<bits/stdc++.h>
using namespace std;
int main(){
int arr[100][100];
int brr[100][100];
for(int i=0;i<3;i++){
for(int j=0;j<2;j++){
cin>>arr[i][j];
}
}
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
brr[i][j]=arr[j][i];
cout<<brr[i][j];
}
cout<<endl;
}
return 0;
}
int*Matrix(const int*matrix,int size_r,int size_c,int*new_matrix){
//打印原数据
int flag=0;
for(int i=0;i<size_r*size_c;i++){
cout<<matrix[i]<<" ";
flag++;
if(flag==size_c){
cout<<endl;
flag=0;
}
}
//2.转置
for(int row=0;row<size_r;row++){
for(int col=0;col<size_c;col++){
new_matrix[col*size_r+row]=matrix[row*size_c+col];
}
}
return NULL;
}
int main(){
int arr[6]={1,2,3,4,5,6};
int row=-1,col=-1;
cout<<"请输入矩阵的行数和列数:";
cin>>row>>col;
int*brr=new int [row*col];
Matrix(arr,row,col,brr);
}