Peck Chen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

代码
/*
0 12 9 0 0 0 0
0 0 0 0 0 0 0
-3 0 0 0 0 14 0
0 0 24 0 0 0 0
0 18 0 0 0 0 0
15 0 0 -7 0 0 0
*/
#include
<stdio.h>
#include
<stdlib.h>

#define ROW 6
#define COL 7
#define V 8


typedef
struct
{
int i, j;
int v;
}Node;

int main()
{
int i, j, k, p, matrix[ROW][COL];
Node ma[V
+1]; Node mb[V+1];

ma[
0].i = ROW;
ma[
0].j = COL;
ma[
0].v = V;
k
= 1;
for ( i = 0; i < ROW; i++ )
{
for ( j = 0; j < COL; j++ )
{
scanf(
"%d", &matrix[i][j] );
if ( matrix[i][j] )
{
ma[k].i
= i + 1;
ma[k].j
= j + 1;
ma[k].v
= matrix[i][j];
k
++;
}
}
}
//转置前
printf( "转置前:\n" );
for ( i = 0; i <= V; i++ )
{
printf(
"%2d %2d %2d", ma[i].i, ma[i].j, ma[i].v );
putchar(
'\n' );
}
putchar(
'\n' );
putchar(
'\n' );

mb[
0].i = ma[0].j;
mb[
0].j = ma[0].i;
mb[
0].v = ma[0].v;
k
= 1;
p
= mb[0].v;
for ( i = 1; i <= COL; i++ )
{
for ( j = 1; j <= p; j++ )
{
if ( ma[j].j == i )
{
mb[k].i
= ma[j].j;
mb[k].j
= ma[j].i;
mb[k].v
= ma[j].v;
k
++;
}
}
}
//转置后
printf( "转置后:\n" );
for ( i = 0; i <= V; i++ )
{
printf(
"%2d %2d %2d", mb[i].i, mb[i].j, mb[i].v );
putchar(
'\n' );
}

system(
"pause" );
return 0;
}

 

 

 

posted on 2010-11-02 17:19  PeckChen  阅读(1496)  评论(1编辑  收藏  举报