首页 > 其他分享 >三元组存储稀疏矩阵

三元组存储稀疏矩阵

时间:2023-10-27 19:45:05浏览次数:32  
标签:fp 11 存储 SECURE int 矩阵 三元组

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <iostream>
 3 #define _CRT_SECURE_NO_WARNINGS
 4 using namespace std;
 5 
 6 int arr[11][11];
 7 
 8 struct TripleArray
 9 {
10     int row;
11     int col;
12     int val;
13 };
14 //三元表
15 
16 int main()
17 {
18     int row = 1;
19     int col = 0;
20 
21     //文件读取矩阵操作
22     FILE* fp = fopen("text.txt", "r");
23     int a = fgetc(fp);
24     while (a != EOF)
25     {
26         if (a != ' ' && a != '\n')
27         {
28             int sum = a - '0';
29             a = fgetc(fp);
30             while (a - '0' >= 0 && a - '0' <= 9)
31             {
32                 sum = sum * 10 + a - '0';
33                 a = fgetc(fp);
34             }
35             col++;
36             arr[row][col] = sum;
37         }
38         else if (a == '\n')
39         {
40             row++;
41             col = 0;
42         }
43         a = fgetc(fp);
44     }
45 
46     int num = 1;
47     TripleArray Mari[200];
48     //三元数组
49 
50     for (int i = 1; i <= row; i++)
51     {
52         for (int j = 1; j <= col; j++)
53         {
54             if (arr[i][j] != 0)
55             {
56                 Mari[num].col = j;
57                 Mari[num].row = i;
58                 Mari[num].val = arr[i][j];
59                 num++;
60             }
61         }
62     }
63 
64     cout << "三元组是:" << endl;
65     for (int i = 1; i < num; i++)
66         cout << Mari[i].row << " " << Mari[i].row << " " << Mari[i].val << endl;
67 
68     cout << "矩阵转置" << endl;
69     for (int i = 1; i < num; i++)
70     {
71         int t = Mari[i].col;
72         Mari[i].col = Mari[i].row;
73         Mari[i].row = t;
74     }
75 
76     //可以选择将矩阵按行排序一下
77 }

 

标签:fp,11,存储,SECURE,int,矩阵,三元组
From: https://www.cnblogs.com/saucerdish/p/17793034.html

相关文章

  • day 2 数组 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵 Ⅱ
    977.有序数组的平方题目链接:977.有序数组的平方视频教程文章教程思路最直观的解法:暴力解题,每个数先平方,然后再快速排序,时间复杂度为O(n+nlogn)规律:该数组本身是非递减顺序,在平方后其实依然有顺序,左右两边大中间小。双指针利用观察到的规律,可以利用双指针在数......
  • 矩阵快速幂优化dp
    寻址连续优化for(inti=1;i<=n;i++)for(intk=1;k<=n;k++)if(a.a[i][k])for(intj=1;j<=n;j++)c.a[i][j]=(c.a[i][j]+1ll*a.a[i][k]*b.a[k][j])%mod;P3216[HNOI2011]数学作业(普通套路)题目......
  • 文档型数据库将重新定义数据存储与检索
    在当前的数据驱动时代,数据库技术日新月异。文档型数据库因其独特的存储结构和索引机制而逐渐崭露头角,尤其是在云计算和大数据应用中。那么,当我们深入研究文档型数据库的内容存储和索引时,它与传统的关系型数据库有何不同?本文通过文档型数据库的典型案例——MongoDB和巨杉数据库Sequo......
  • Vsan数据恢复—异常断电Vsan存储上层虚拟机无法启动的数据恢复案例
    Vsan分布式存储故障&检测:异常断电导致一台vsan存储设备上层虚拟机无法启动。将故障Vsan存储上的所有磁盘编号后取出,由北亚企安的硬件工程师对vsan存储上的所有硬盘进行物理故障检测,经过检测没有发现硬盘存在物理故障。vsan存储结构简图:将vsan存储中所有硬盘以只读方式做全盘镜......
  • 【Azure 存储服务】访问Azure Blob File遇见400-Condition Headers not support错误的
    ThisXMLfiledoesnotappeartohaveanystyleinformationassociatedwithit.Thedocumenttreeisshownbelow.问题描述在微软云存储账号的服务中,存储一些静态图片,然后通过AppService访问,但是遇见了400-conditionheadersnotsupport错误......
  • 【Azure Storage Account Table】询问批量将存储账户中的表嵌入另一个账户中的办法
    问题描述询问批量将存储账户中的表嵌入另一个账户中的办法? 问题解答方式一:使用 AzCopy 使用Azcopy做表格的导入导出,注意您需要使用Azcopy7.3版本来实现对Table的操作,可以选择导出到Blob中,这样导出的数据不会保存在本地,以及该指定支持并发导出。从表存储导出数据: https://le......
  • JavaScript 数组存储方式及对象
    一、数组的存储1、当声明一个变量时,vara=111;在后台计算机翻译时,var声明a变量所以此时会产生一个栈内存,变量a的初始值为undefined,然后=111;undefined消失,111的值被赋值给了a。如果多个变量赋值的话,栈内存的执行顺序是先进后出的顺序。也叫做压栈。栈内存属于基础数据......
  • 代码随想录算法训练营第一天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩
    今日学习的文章链接和视频链接https://programmercarl.com/0977.有序数组的平方.htmlhttps://programmercarl.com/0209.长度最小的子数组.htmlhttps://programmercarl.com/0059.螺旋矩阵II.html977.有序数组的平方菜鸡刚开始只会暴力,记录一下双指针:varsortedSquares=......
  • Kubernetes 迁移节点 Kubelet 数据存储目录
    1、概述默认Kubernetes节点Kubelet数据目录在/var/lib/kubelet,如果在部署前没有做好规划,其实默认就存储在系统盘/分区下了,这可能会引发一些问题:磁盘空间限制:系统根目录通常具有较小的磁盘空间,用于操作系统文件和应用程序。将Kubelet数据与操作系统混合存储可能导致磁盘空......
  • scrapy中爬虫数据如何异步存储mysql数据库jd
    1.SQLCREATETABLE`JDAll`(`shop_id`VARCHAR(16)NOTNULL,//商品ID`url`VARCHAR(255)DEFAULTNULL,//商品url`title`VARCHAR(1024)DEFAULTNULL,//商品标题`brand`VARCHAR(255)DEFAULTNULL,//品牌`brand_url`VARCHAR(1024)DEF......