answersLogoWhite

0

DataStructure-Program to transpose a sparse matrix.#include

#include

#include

#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] ) ;

clrscr( ) ;

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] ) ;

getch( ) ;

}

/* 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

EzraEzra
Faith is not about having all the answers, but learning to ask the right questions.
Chat with Ezra
FranFran
I've made my fair share of mistakes, and if I can help you avoid a few, I'd sure like to try.
Chat with Fran
ProfessorProfessor
I will give you the most educated answer.
Chat with Professor

Add your answer:

Earn +20 pts
Q: Transpose matrix in data structure
Write your answer...
Submit
Still have questions?
magnify glass
imp