2007-10-10, 08:00 PM
|
#1
|
長老會員
|
C++ 陣列問題
引用:
/******************************************/
/* 名稱:矩陣轉置 */
/* 檔名:ex2-3.cpp */
/******************************************/
#include <stdio.h>
#define N 10
#define MAX_TERMS 101 /* 表示非零元素的最多個數 */
typedef struct
{
int col; //行
int row; //列
int value; //值
}term;
/*******************************************/
void transpose(term a[], term b[])
{
int n,i,j,currentb;
n = a[0].value;
b[0].row = a[0].col; //行數列數交換
b[0].col = a[0].row;
b[0].value = n
if(n>0)
{
currentb = 1;
for(i=0;i<a[0].col;i++) //依行的順序尋找
for(j=1;j<=n;j++)
if(a[j].col==i)
{
b[currnetb].row = a[j].col;
b[currentb].col = a[j].row;
b[currentb].value = a[j].value;
currentb++;
}
}
}
/***************************************/
void main()
{
term a[10],b[10],i;
a[0].col=4; a[0].row=4; a[0].value=4;
//矩陣大小:4*4,共有4個值
a[1].col=1; a[1].row=1; a[1].value=14; //(1,1)值大小14
a[2].col=1; a[2].row=2; a[2].value=4; //(1,2)值大小2
a[3].col=2; a[3].row=4; a[3].value=15; //(2,4)值大小15
a[4].col=3; a[4].row=2; a[4].value=16; //(3,2)值大小16
transpose(a,b);
for(i=1;i<a[0].value;i++)
printf(“(%d,%d)=%d”,b[i].col,b[i].row,b[i].value);
}
|
實在是不知道哪裡有誤
請求各位高手協助 
|
|
|
送花文章: 888,
收花文章: 469 篇, 收花: 776 次
|