| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9041 人关注过本帖
标题:如何将文件中数据按要求存入数组中
取消只看楼主 加入收藏
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:6 
如何将文件中数据按要求存入数组中
数据文件中的文件头的内容是描述特征和标记的,从@DATA的下一行开始描述真正的数据。每一行为一条记录,例如在cellcycle_FUN.train.arff中,第一条记录为
[local]1[/local]
0.65,1.39,-0.29,-0.54,-0.6,-0.45,-0.13,0.35,-0.01,0.49,0.18,0.43,-0.23,-0.3,-0.24,0.23,0.04,0.09,0.18,0.16,-0.01,-0.21,?,?,?,0.14,0.58,0.25,0.03,-1,0,-0.41,0.1,0.14,0.4,0.2,0.24,?,0.26,-0.39,0.43,-0.26,-0.33,-0.37,?,?,-0.59,-0.16,0.66,-0.1,0.07,-0.33,0.41,-0.23,-0.51,0.58,0.07,0.32,0.01,0.17,?,-0.21,-0.14,-0.17,-0.28,-0.16,0.2,0.36,0.17,0.39,0.1,0,-0.16,0.29,-0.06,-0.26,-0.41,14/04@20/09/07/03   如何将最后一个逗号前的数据和后面的数据分别存入一个二维数组中
这条记录中,最后的11/02/01@11/02/02@11/02/03/01是三个功能,用@隔开,前面逗号隔开的是数据的属性值。
编程将cellcycle_FUN.train.arff文件的内容读入2个二维数组,一个存储每条记录的属性值,这个都用double类型,其中?大家读入的时候用0表示。;一个数组存储每条记录的功能编号。cellcycle_FUN.test.arff和cellcycle_FUN.valid.arff也类似处理。
读入的数据结果(部分):[local]2[/local]

搜索更多相关主题的帖子: 记录 如何 
2016-10-08 15:04
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 2楼 书生牛犊
数据结构实验题.rar (437.4 KB)

这是实验要求及数据,现在问题出现在如何将数据文件cellcycle_FUN.test.arff等按要求读入数组中。
2016-10-09 10:41
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 3楼 ehszt
10个字符是指最后一个逗号之前的那些数据的长度么?、要是之前有很多个数据要怎么计算其长度?
2016-10-09 10:44
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 2楼 书生牛犊
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
FILE *fp1,*fp2;
struct fun
{
    char a[100];
    int b;
}sj[1500];
struct shu
{
    double a;
    char b[100];
}sj2[5000];
void yubeishuju()
{
    int i;
    if((fp1=fopen("fun.topics.txt","r+"))==NULL)
    {
        printf("File open error!");
        exit(0);
    }
    for(i=0;!feof(fp1);i++)
    {
        fscanf(fp1,"%s",sj[i].a);
    }
    return i;
}
void bijiaoshuju(int i)
{
    int j,k,n,len;
     n=i;
    for(i=0;i<n;i++)
    {
        len=strlen(sj[i].a);
        if(len==2)
            sj[i].b=(-1);
        else
        {
            for(k=0;k<i;k++)
            {
                for(j=0;j<len;j++)
                {
                    if(sj[i].a[j]!=sj[k].a[j]&&sj[k].a[j]=='\0'&&sj[i].a[j+3]=='\0')
                        sj[i].b=k;
                    if(sj[i].a[j]!=sj[k].a[j]&&sj[k].a[j]!='\0')
                        j=len;
                }
            }
        }

    }

}
void duqushuju()
{

    if((fp2=fopen("cellcycle_FUN.test.arfff","r+"))==NULL)
    {
        printf("File open error!");
        exit(0);
    }
    int i;
    int m;
    while(i<82&& (m=fgetc(fp2))!=EOF)    //n就是你想跳过的行数
    {
      if (m=='\n') i++;
    }
    for(;!feof(fp1);i++)
    {
        fscanf(fp2,"%s",sj2[i].a);
    }

}
写到这就不会了~~
2016-10-09 10:45
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 7楼 word123
怎么判断最后一个逗号?~
2016-10-12 10:06
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 9楼 word123
恩恩~可以看一下代码么?~感谢~
2016-10-12 11:12
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
收藏
得分:0 
回复 12楼 word123
恩恩感谢!!!
2016-10-19 10:26
快速回复:如何将文件中数据按要求存入数组中
数据加载中...
 
   



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

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