📄 sparse.cpp
字号:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define SIZE 20
typedef struct sparse
{
int row,col,val;
}SPR;
//---------------------------------------------------------------------------
void read_mat(int x[SIZE][SIZE],int y,int z)
{
int i,j;
for(i=0;i<y;i++)
for(j=0;j<z;j++)
{
printf("\n\n\t ENTER THE ELEMENT [%d][%d] :: ",i,j);
scanf("%d",&x[i][j]);
}
}
//---------------------------------------------------------------------------
void print_mat(int x[SIZE][SIZE],int y,int z)
{
int i,j;
for(i=0;i<y;i++)
{
printf("\n\n");
for(j=0;j<z;j++)
{
printf("\t %d",x[i][j]);
}
}
}
//---------------------------------------------------------------------------
int convert_sparse(int x[SIZE][SIZE],int y,int z,SPR s[])
{
int i,j,k=1;
for(i=0;i<y;i++)
for(j=0;j<z;j++)
if(x[i][j]!=0)
{
s[k].row=i;
s[k].col=j;
s[k].val=x[i][j];
k++;
}
s[0].row=y;
s[0].col=z;
s[0].val=k;
return(k);
}
//---------------------------------------------------------------------------
void print_sparse(SPR s[SIZE],int n)
{
int i;
printf("\n\n\t ROW\t COL\t VAL");
for(i=0;i<n;i++)
printf("\n\n\t %d\t %d\t %d",s[i].row,s[i].col,s[i].val);
}
//---------------------------------------------------------------------------
void main()
{
int a[SIZE][SIZE],b[SIZE][SIZE],m,n,p,q,n1,n2,n3;
SPR s1[SIZE],s2[SIZE],s3[SIZE];
clrscr();
printf("\n\n\t THE SPARSE MATRIX OPERATION :: ");
printf("\n\n\t ENTER THE ORDER OF THE MATRIX A :: ");
scanf("%d %d",&m,&n);
read_mat(a,m,n);
printf("\n\n\t THE MATRIX A IS :: ");
print_mat(a,m,n);
printf("\n\n\t THE SPARSE REPRESENTATION OF A IS :: ");
n1=convert_sparse(a,m,n,s1);
print_sparse(s1,n1);
printf("\n\n\t ENTER THE ORDER OF THE MATRIX B :: ");
scanf("%d %d",&p,&q);
read_mat(b,p,q);
printf("\n\n\t THE MATRIX B IS :: ");
print_mat(b,p,q);
printf("\n\n\t THE SPARSE REPRESENTATION OF B IS :: ");
n2=convert_sparse(b,p,q,s2);
print_sparse(s2,n2);
getch();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -