| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:如何将将262144*4的二维数组转换为1024*1024的二维数组,附代码,先谢谢啦! ...
取消只看楼主 加入收藏
晓亮2015
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-5
结帖率:33.33%
收藏
已结贴  问题点数:4 回复次数:0 
如何将将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的每一行中去。。。不知道怎么操作,麻烦各位指导下!!!先谢谢啦!
**************************************************************************************************//
???
搜索更多相关主题的帖子: include double 如何 
2013-11-05 21:37
快速回复:如何将将262144*4的二维数组转换为1024*1024的二维数组,附代码,先谢 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016386 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved