台灣最大程式設計社群網站
線上人數
1369
 
會員總數:231330
接案會員:6786
文章總數:1904
討論主題:175502
歡迎您免費加入會員
討論區列表 >> C/C++ >> 不知如何用指標描述二維陣列
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
不知如何用指標描述二維陣列
價值 : 10 QP  點閱數:2679 回應數:4

樓主

阿福
初學者
799 889
7881 554
發送站內信

我想使用指標來傳遞二維陣列的資料,但是寫到一半卡住了
不知如何用指標描述二維陣列
所以我把原始碼放上來
麻煩請大家提醒我該怎麼描述
謝謝
#include <stdio.h>
#include <stdlib.h>
main()
{
long id[3],top_id=0;
int st[3][5];
int i,top_sum=0;
for (i=0;i<3;i++)
{
printf("請輸入第%d位學生成績:\n",i+1);
printf(" 學號:");
scanf("%d",&st[i][0]);
printf(" 國文成績:");
scanf("%d",&st[i][1]);
printf(" 英文成績:");
scanf("%d",&st[i][2]);
printf(" 程式語言成績:");
scanf("%d",&st[i][3]);
st[i][4]=st[i][1]+st[i][2]+st[i][3];
}
printf("\n學號\t國文\t英文\t程式語言\t總分\n");
for (i=0;i<3;i++)
{
printf("%d\t%d\t%d\t%d\t%d\n",st[i][0],st[i][1], st[i][2],st[i][3],st[i][4]);
if (st[i][4]>top_sum)
{
top_sum=st[i][4];
top_id=st[i][0];
}
}
printf("最高分者:");
printf("學號:%d 總分:%d\n",top_id,top_sum);
//排名
sortarray2(&st);
printf("依據總分排名為:\n");
for(i=0;i<3;i++)
{
printf("%d\t%d\t%d\t%d\t%d\n",st[i][0],st[i][1], st[i][2],st[i][3],st[i][4]);
}
system("PAUSE");
return 0;
}

int sortarray2(int *b)
{
int pass;
int i,j;
int hold;

for ( pass = 1; pass < 5; pass++ ) {
for ( i = 0; i < 3; i++ ) {
//以下的語法不知該如何修改
if ( b[i]+[ 4 ] > b[i+1][4] ) {
hold = b[i][ 4 ];
b[i][4] = b[i][4];
b[i][4] = hold;
}
}
}
}
本篇文章發表於2007-01-08 10:39
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

五崟
捐贈 VP 給 Sean 檢舉此回應



本篇文章回覆於2007-01-08 13:44
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿福
檢舉此回應
我完整拷貝您的語法 編譯時產生以下的錯誤

--------------------Configuration: mingw2.95 - CUI Debug, Builder Type: MinGW (Old)--------------------

Checking file dependency...
Compiling C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c...
[Error] C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c:26: `new' undeclared (first use in this function)
[Error] C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c:26: (Each undeclared identifier is reported only once
[Error] C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c:26: for each function it appears in.)
[Error] C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c:26: parse error before `int'
[Error] C:\Documents and Settings\rong\桌面\2007\輸入成績\二維陣列指標傳遞版.c:28: parse error before `int'

Complete Make 二維陣列指標傳遞版: 5 error(s), 0 warning(s)



本篇文章回覆於2007-01-08 14:12
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

五崟
捐贈 VP 給 Sean 檢舉此回應



本篇文章回覆於2007-01-08 15:15
--未登入的會員無法查看對方簽名檔--
4樓
回應

五崟
捐贈 VP 給 Sean 檢舉此回應
我的程式重點不在於二維陣列
因為二維陣列的排序要每個element都交換
sort那就要三個回圈
所以我用一個buf 和 int*的陣列
排序時是排pointer
這樣比較快
如果你執意要用二維陣列
那就是這樣



本篇文章回覆於2007-01-08 15:25
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.