鱼C论坛

 找回密码
 立即注册
查看: 4384|回复: 3

使用邻接矩阵存储图,填充数据用文件形式

[复制链接]
发表于 2014-8-28 19:26:54 | 显示全部楼层 |阅读模式
3鱼币
本帖最后由 黄纸明 于 2014-8-28 20:14 编辑

例如:有一个文件名为ming.txt数据存放的是
1 2 3
2 3 6
1 4 8
我想通过文件形式的操作实现
其中第一排的意思是arc[1][2]=3
arc[2][3]=6
arc[1][4]=8

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-29 00:42:33 | 显示全部楼层
  1. #include "stdafx.h"
  2. #include <stdlib.h>

  3. void writeData(int nArray[][4],int row,int col)
  4. {
  5.         FILE* file;
  6.         errno_t error;
  7.         error = fopen_s(&file,"e:\\XXX.txt","wb");
  8.         if (error )
  9.         {
  10.                 printf("文件打开失败");
  11.                 exit(EXIT_FAILURE);
  12.         }

  13.         for (int i=0;i<row;i++)
  14.         {
  15.                 for(int j=0;j<col;j++)
  16.                 {
  17.                         fwrite(&i,sizeof(int),1,file);
  18.                         fwrite(&j,sizeof(int),1,file);
  19.                         fwrite(&nArray[i][j],sizeof(int),1,file);
  20.                 }
  21.         }
  22.         fclose(file);
  23. }

  24. void readData(int nArray[][4],int row,int col)
  25. {
  26.         FILE* file;
  27.         errno_t error;
  28.         error = fopen_s(&file,"e:\\XXX.txt","rb");
  29.         if (error )
  30.         {
  31.                 printf("文件打开失败");
  32.                 exit(EXIT_FAILURE);
  33.         }
  34.         int nRow =  0;
  35.         int nCol = 0;
  36.         for (int i=0;i<row;i++)
  37.         {
  38.                 for(int j=0;j<col;j++)
  39.                 {
  40.                         fread(&nRow,sizeof(int),1,file);
  41.                         fread(&nCol,sizeof(int),1,file);
  42.                         fread(&nArray[nRow][nCol],sizeof(int),1,file);
  43.                 }
  44.         }
  45.         fclose(file);
  46. }
  47. int _tmain(int argc, _TCHAR* argv[])
  48. {
  49.         int nArrayA[][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}} ;
  50.         int nArrayB[3][4];
  51.         writeData(nArrayA,3,4);
  52.         readData(nArrayB,3,4);
  53.         return 0;
  54. }
复制代码

编译环境是Visual Studio 2012.

评分

参与人数 1鱼币 +3 贡献 +1 收起 理由
黄纸明 + 3 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-3-24 22:51:49 | 显示全部楼层
非常感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-16 16:06:34 | 显示全部楼层
{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-18 22:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表