answersLogoWhite

0

#include <stdio.h>

#define MAX1 3

#define MAX2 3

struct sparse

{

int *sp ;

int row ;

} ;

void initsparse ( struct sparse * ) ;

void create_array ( struct sparse * ) ;

void display ( struct sparse ) ;

int count ( struct sparse ) ;

void create_tuple ( struct sparse *, struct sparse ) ;

void display_tuple ( struct sparse ) ;

void transpose ( struct sparse *, struct sparse ) ;

void display_transpose ( struct sparse ) ;

void delsparse ( struct sparse * ) ;

void main( )

{

struct sparse s[3] ;

int c, i ;

for ( i = 0 ; i <= 2 ; i++ )

initsparse ( &s[i] );

create_array ( &s[0] ) ;

printf ( "\nElements in Sparse Matrix: " ) ;

display ( s[0] ) ;

c = count ( s[0] ) ;

printf ( "\n\nNumber of non-zero elements: %d", c ) ;

create_tuple ( &s[1], s[0] ) ;

printf ( "\n\nArray of non-zero elements: " ) ;

display_tuple ( s[1] ) ;

transpose ( &s[2], s[1] ) ;

printf ( "\n\nTranspose of array: " ) ;

display_transpose ( s[2] ) ;

for ( i = 0 ; i <= 2 ; i++ )

delsparse ( &s[i] );

}

/* initialises data members */

void initsparse ( struct sparse *p )

{

p -> sp = NULL ;

}

/* dynamically creates the matrix of size MAX1 x MAX2 */

void create_array ( struct sparse *p )

{

int n, i ;

p -> sp = ( int * ) malloc ( MAX1 * MAX2 * sizeof ( int ) ) ;

for ( i = 0 ; i < MAX1 * MAX2 ; i++ )

{

printf ( "Enter element no. %d:", i ) ;

scanf ( "%d", &n ) ;

* ( p -> sp + i ) = n ;

}

}

/* displays the contents of the matrix */

void display ( struct sparse s )

{

int i ;

/* traverses the entire matrix */

for ( i = 0 ; i < MAX1 * MAX2 ; i++ )

{

/* positions the cursor to the new line for every new row */

if ( i % MAX2 0 )

printf ( "\n" ) ;

printf ( "%d\t", * ( p.sp + i ) ) ;

}

}

/* deallocates memory */

void delsparse ( struct sparse *p )

{

free ( p -> sp ) ;

}

User Avatar

Wiki User

12y ago

Still curious? Ask our experts.

Chat with our AI personalities

BlakeBlake
As your older brother, I've been where you are—maybe not exactly, but close enough.
Chat with Blake
ProfessorProfessor
I will give you the most educated answer.
Chat with Professor
JudyJudy
Simplicity is my specialty.
Chat with Judy

Add your answer:

Earn +20 pts
Q: Program for transpose of sparse matrix?
Write your answer...
Submit
Still have questions?
magnify glass
imp