| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1237 人关注过本帖
标题:在C语言中,怎么读入txt文件中的稀疏矩阵啊,麻烦大家看看,谢谢
取消只看楼主 加入收藏
Bingo_yue
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2016-1-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
在C语言中,怎么读入txt文件中的稀疏矩阵啊,麻烦大家看看,谢谢
H矩阵.rar (3.26 KB)


H矩阵中,第一列表示行号,第二列表示该行有多少个不为0的数,后面的数字表示不为0的数的列号。
现在要用c语言读入这个数,然后对他进行操作,把它变成一个512*252的稀疏矩阵,再把这个512*252的稀疏矩阵存储在另一个文件中,
自己琢磨了很久,还是没有做出来,我的代码如下,大家能帮忙看一下吗?非常感谢
程序代码:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>

#define MAX_LENGTH 60

int main(int argc, char* argv[])
{
//StripSpace::Run();

FILE *h;
FILE *check;

char data[9][MAX_LENGTH];
char* result[252][9];
char* H[252][512];


check=fopen("data.txt","w");
if( (h=fopen("H矩阵.txt","rt"))==NULL )
   printf( "The file fscanf.out was not opened\n" );
else
{
int n = 0;
int j=0;
while ( !feof( h ))
{
fscanf( h, "%s %s %s %s %s %s %s %s %s", &data[0], &data[1], &data[2], &data[3], &data[4], &data[5], &data[6], &data[7], &data[8] );   // C4996

for (int i = 0; i < 9; i++)
{
result[n][i] = (char*)malloc(MAX_LENGTH);
strcpy(result[n][i], data[i]);
}

for(j=0;j<512;j++)
{
if(j==*result[n][i]&&(i!=0)&&(i!=1))

 *H[n][j]=1;
else 
  *H[n][j]=0;
}

fwrite(H, sizeof(H), 1, check);
for(j=0;j<512;j++)
  printf("%s",H[n][j]);
printf("\n");

n++;
}

fclose( h );
fclose( check );
for (int i = 0; i < 252; i++)
{
for (int j = 0; j < 9; j++)
{
free(result[i][j]);
}
}
}
return 0;
}
搜索更多相关主题的帖子: C语言 c语言 
2016-01-19 22:15
Bingo_yue
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2016-1-10
收藏
得分:0 
回复 2楼 rjsp
非常感谢   
2016-01-20 13:36
快速回复:在C语言中,怎么读入txt文件中的稀疏矩阵啊,麻烦大家看看,谢谢
数据加载中...
 
   



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

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