⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sparse.cpp

📁 sparce matrix implementataion
💻 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 + -