C语言实现稀疏矩阵
作者:Doublekai 发布时间:2023-04-17 15:00:45
标签:C语言,稀疏矩阵
本文实例为大家分享了C语言实现稀疏矩阵的具体代码,供大家参考,具体内容如下
#include "stdio.h"
#define maxsize 10
typedef struct
{
int i,j; //非零元素的行、列
int v; //非零元素的值
}Triple;
typedef struct
{
Triple data[maxsize];
int m,n; //矩阵的行、列
}TSMarix;
InitTriple(TSMarix *M)
{
int i,j,k,v,t;
printf("请输入稀疏矩阵非零元素的个数:\n");
scanf("%d",&v);
for(k=1;k<=v;k++)
{
printf("请输入第%d个元素行、列和值:",k);
scanf("%d%d%d",&i,&j,&t);
//储存非零元素的下标和值:
M->data[k].i=i;
M->data[k].j=j;
M->data[k].v=t;
}
}
void displayMatrix(TSMarix *M)
{
int i,j,p,q,k=1;
for(p=0;p<M->m;p++)
{
for(q=0;q<M->n;q++)
if(M->data[k].i==p&&M->data[k].j==q) //输出非零元素
{
printf(" %d ",M->data[k].v);
k++;
}
else printf(" 0 ");
printf("\n");
}
}
void display(TSMarix *M)
{
int i,j,p,q;
printf("请输入矩阵的行、列:\n");
scanf("%d%d",&i,&j);
M->m=i;M->n=j;
for(p=0;p<M->m;p++)
{
for(q=0;q<M->n;q++)
printf(" 0");
printf("\n");
}
}
main()
{
TSMarix M;
display(&M);
InitTriple(&M);
displayMatrix(&M);
}
效果图:


猜你喜欢
- 获取本机所有IP地址:这些地址是包含所有网卡(虚拟网卡)的ipv4和ipv6地址。 string name = Dns.GetHostNam
- 什么是线程池是一种基于池化思想管理线程的工具。池化技术:池化技术简单点来说,就是提前保存大量的资源,以备不时之需。比如我们的对象池,数据库连
- 在使用多线程过程中,可能会遇到在一些情况下必须等待子线程全部执行结束后主线程才进行下一步,做法如下: //在使用多线程过程中,可能会遇到在一
- 网上各种解决方案,我试了好久,整合了几篇文章才凑出来,在这里分享一下,实在不想网友们在这里面绕圈子,毕竟,写代码的时间是愉快的,解决bug也
- 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助在AndroidManifest.xml注册ACTION事件<activi
- 本文实例讲述了C#实现在图像中绘制文字图形的方法。分享给大家供大家参考。具体实现方法如下:using System;using System
- 本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下import java.util.Random;public
- 一、介绍1、"Lambda表达式"是一个特殊的匿名函数,简化了匿名委托的使用,是一种高效的类似于函数式编程的表达式,La
- 一、信号量(Semaphore)信号量(Semaphore)是由内核对象维护的int变量,当信号量为0时,在信号量上等待的线程会堵塞,信号量
- MybatisAnnotationToolsMybatisAnnotationTools 是基于 Java8 开发的一款可以用于自动化生成
- 出处:https://www.cnblogs.com/SunSpringeclipse下面创建的Maven项目,使用mybatis。ecli
- 本文实例讲述了Android编程之页面切换测试。分享给大家供大家参考。具体分析如下:一、软件平台:win7 + eclipse + sdk二
- 如果一个对象不为空null时,把它赋给另外一个对象:像下面这个样子,需要把str的值赋给result,前提条件是在不为空null的前提之下:
- 本文实例讲述了Android中SurfaceView用法。分享给大家供大家参考,具体如下:这里贴上一个小程序代码,主要运用SurfaceVi
- SpringBoot启动yaml报错报错找不到org.yaml里的一个方法10:45:54.742 [main] ERROR org.spr
- 本文实例讲述了WPF中的ListBox实现按块显示元素的方法。分享给大家供大家参考,具体如下:注意:需要设置ListBox的属性 Scrol
- 背景我们平时在用springboot开发时,要使用事务,只需要在方法上添加@Transaction注解即可,但这种方式只适用单数据源,在多数
- 如下所示: @Override public String getEmployeeBysup(String employeeI
- 1、不知道为啥process.StartInfo.Arguments = "/c" + "start D:/T
- 我们开始今天的正文。首先,来看一下今天分享的并发编程最佳学习路线包含哪些内容。最佳学习路线接下来,我们再来依次看下具体要学习哪些知识吧。并发