史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2007-10-10, 08:00 PM   #1
Pichumax 帥哥
長老會員
 
Pichumax 的頭像
榮譽勳章
UID - 8455
在線等級: 級別:18 | 在線時長:409小時 | 升級還需:28小時級別:18 | 在線時長:409小時 | 升級還需:28小時級別:18 | 在線時長:409小時 | 升級還需:28小時
註冊日期: 2002-12-09
住址: 真新鎮
文章: 2436
精華: 0
現金: 5860 金幣
資產: 285709564 金幣
預設 程式 - 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);
}
實在是不知道哪裡有誤
請求各位高手協助
Pichumax 目前離線  
送花文章: 888, 收花文章: 469 篇, 收花: 776 次
回覆時引用此帖
舊 2007-11-18, 01:49 AM   #2 (permalink)
註冊會員
榮譽勳章
UID - 87408
在線等級: 級別:9 | 在線時長:127小時 | 升級還需:13小時級別:9 | 在線時長:127小時 | 升級還需:13小時級別:9 | 在線時長:127小時 | 升級還需:13小時級別:9 | 在線時長:127小時 | 升級還需:13小時
註冊日期: 2003-07-19
VIP期限: 2008-12
文章: 4
精華: 0
現金: 5509 金幣
資產: 10509 金幣
預設

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++;
}
}
}
fundu5650 目前離線  
送花文章: 0, 收花文章: 1 篇, 收花: 1 次
回覆時引用此帖
向 fundu5650 送花的會員:
joebin (2007-11-19)
感謝您發表一篇好文章
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 02:44 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1