如何将将262144*4的二维数组转换为1024*1024的二维数组,附代码,先谢谢啦!
#include "stdafx.h"#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define luint unsigned long int
#define uint unsigned int
#define MM 4109
#define cc ka*64+kb
#define MAX 1000
int main(int argc, char* argv[])
{
FILE *fp=fopen("lut15.txt","r");
luint m,n;//原始数据行列数
double **rawdata;//262144*4的二维数组
double aa[1024][1024];//1024*1024的二维数组,也可以设置为luint整形
//临时参数
luint i,j;
char ch;
//-------------------------------------------------------------------------------------------
luint ma,mb,na,nb,ta,tb,ka,kb;
luint NN,count,counter;//NN为判断peak的阈值,MM为64*64,count用于在求NN时统计元素个数
luint bb[64][64];//aa中位二维1024*1024的数值,bb中位64*64的peak值:
luint r[4096],c[4096];//c,d中分别为peak在aa中的峰值位置
luint ra,ca;//统计64*64peak的个数
//-------------------------------------------------------------------------------------------
////////////////读入文件中存储的原始数据////////////////
if (fp==NULL)
{
printf("File not existing!");
exit(1);
}
m=0;
n=0;
//统计行数
do
{
ch=fgetc(fp);
if(ch=='\n')//判断总共有多少行,依据是'\n'换行符
m++;
}
while(ch!=EOF);
rewind(fp);
//统计列数
do
{
ch=fgetc(fp);
if(ch=='\t')//判断每行有多少元素,依据是'\t' '\X09' 制表键
n++;
//if(ch==',')
}
while(ch!='\n');//如果相等,说明一行结束
n++;
printf("row:%d\ncol:%d\n",m,n);
//生成动态二维数组
rawdata=(double**)malloc(m*sizeof(double*));
for(i=0;i<m;i++)
rawdata[i]=(double*)malloc(n*sizeof(double));
rewind(fp);
//将矩阵数据读入,赋值给二维数组
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
fscanf(fp,"%lf,",&rawdata[i][j]);//将每一行的数据存入到数组的行中,且此处是指针寻址,所以数组元素要取地址
//通过文件指针fp将磁盘文件中的数据写入到二维数组的存储单元中。这里
给出了地址入口。
}
printf("The rawdata is:\n");
/* for(i=0;i<m;i++)//显示矩阵
for(j=0;j<n;j++)
{
printf("%lf ",rawdata[i][j]);
if(j+1==n)
printf("\n");
}
*/
printf("%lf,%lf ",rawdata[1][1],rawdata[2][2]);//实现将txt中数据复制到二维数组中:验证是否存入
printf("\n");
fclose(fp);
//*************************************************************************************************
上面的程序实现的是将txt中的262144*4点阵数据存入到262144*4的二维数组中;
下面的程序代码是将262144*4的二维数组转换为1024*1024的二维数组,
要求是将262144*4的二维数组按行来逐一存入到1024*1024的每一行中去。。。不知道怎么操作,麻烦各位指导下!!!先谢谢啦!
**************************************************************************************************//
???