Sie sind auf Seite 1von 2

** / Transpose of sparse matrix /**

#include<stdio.h>
#include<conio.h>
void transpose(int s[10][3],int ,int ,int );
void main()
{
clrscr();
int a[3][3],n=3,m=3,nze=0,c=1;
int s[10][3],i,j;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("enter the element of matrix");
scanf("%d",&a[i][j]);
}
}
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
if(a[i][j]!=0)
nze++;
}
}
s[0][0]=m;
s[0][1]=n;
s[0][2]=nze;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j]!=0)
{
s[c][0]=i;
s[c][1]=j;
s[c][2]=a[i][j];
c++;
}
}
}
for(i=0;i<c;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",s[i][j]);
}
printf("\n");
}
printf("\n\n");
transpose(s,m,n,nze);
getch();
}
void transpose(int s[10][3],int m,int n,int nze)
{
int b[10][3],q=1,p,c,i,j;
b[0][0]=n;
b[0][1]=m;
b[0][2]=nze;

for(p=1;p<nze+1;p++)
{
b[q][0]=s[p][1];
b[q][1]=s[p][0];
b[q][2]=s[p][2];
q++;
}
for(i=0;i<q;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}

Das könnte Ihnen auch gefallen