马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
怎么指向 分块的二维数组 #include<iostream>
#include<algorithm>
using namespace std;
void
TransposeMatri(int **array,int n){//全部转置
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
if(j>i)//主副三角
swap(array[i][j],array[j][i]);
}
}
void
Block_transpose(int **array,int n){ //分块转置
int k =2;
for(int i=0;i<n;i+=k)
for(int j=0;j<n;j+=k)
TransposeMatri(&(array[i]+j),k);//这里怎么指向分块的二维数组呢
}
int main(){
int **a= new int *[2];
for(int i=0;i<2;i++)
a[i]=new int [2];
a[0][0]=1; a[0][1]=2;a[1][0]=3;a[1][1]=4;
Block_transpose(a,2);
for(int i=0;i<2;i++){
for(int j=0;j<2;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}
这个会报错 TransposeMatri(&(array[i]+j),k);
咋解决呀 或者思路错了吗
其实对于调试程序,输入和输出是很重要的,不知道输出就不知道努力的方向,不知道应该把程序调试成什么样子,不知道应该通过调试让程序输出什么
而输出依赖于输入
正确的输出依赖于正确的输入,知道了输入和输出问题就简单了,因为你知道正确的输出,就知道了要把程序调试成什么样子
|