RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 
 29  2/2  <  1  2 


 
主題: [C&C++] [問題]vc++的問題 已放上那3題MFC跟其他資料   字型大小:||| 
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#16 : 2006-3-29 06:46 PM     全部回覆 引言回覆

for ( d = 0; d < e - 1; d++ )
{
       for ( f = d; f < e; f++ )
       {   
              if ( a[d] > a[f] )
              {
                     g = a[d];
                     a[d] = a[f];
                     a[f] = g;
              }
       }
}

這樣你一次只會交換a[]

其他的當然不會動啦

另外,請注意code的排版

這樣子寫真的很不好看



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#17 : 2006-3-29 08:44 PM     全部回覆 引言回覆

外洄圈只是跑n次內迴圈罷了

而run"內迴圈"是利用兩兩大小比較而互換

把最大值浮到最上面

接著run則是把次大值浮到第二個

以此類推

所以要修改的話

if ( a[d] > a[f] )
{
         g = a[d];
         a[d] = a[f];
         a[f] = g;
}

就從這裡著手啊

把所有的array都一同變換



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#18 : 2006-3-30 12:29 AM     全部回覆 引言回覆

看你決定要用那個array去判斷啊

此外,雖然只用一個判斷

但是必須三個array同時調換啊

不然以你寫的為例

a[d]變成了a[f]

而c[d]及b[d]沒一起調換

那就號碼不對姓名及分數了

最後,想學程式還是得買本書來看

我這樣講也不能說得很明白

"頂多"幫你除個錯罷了



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#19 : 2006-3-30 05:52 PM     全部回覆 引言回覆

第一個問題我說過了

用string來做型態(需include string的header file)

第二個的bug在此

for ( d = 0; d < e - 1; d++ )
{
          for ( f = d; f > e; f++ )
       {         
               if ( b[d] > b[f] )
              {      
                     g = b[d];
                     b[d] = b[f];
                     b[f] = g;
              }
       }
}

另外,我講過第三遍了

你array沒有三個同時排序

一定會出現號不對名的情形

最後,請一定做好程式排版

你這樣子寫出來的程式

看的人一定會受不了

[Johnny Brove 在 2006-3-30 05:55 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#20 : 2006-3-30 11:50 PM     全部回覆 引言回覆

我用紅字弄出來,你沒看到嗎?

for ( f = d; f > e; f++ )



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#21 : 2006-3-31 11:51 AM     全部回覆 引言回覆

請先仔細想想為什麼要改

不改的話又會怎樣子?

你才能知道要改成什麼



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#22 : 2006-4-2 02:28 PM     全部回覆 引言回覆

如果你是要由大而小

最簡單的方法就是把cout的順序倒過來就好了

不然就是把內迴圈所跑的方向reverse



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#23 : 2006-5-16 06:57 PM     全部回覆 引言回覆

如果是用switch,在最後要寫一個default

另外,除非是需要重疊使用

不然要在每個case間使用break



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#24 : 2006-5-17 05:54 PM     全部回覆 引言回覆

是最近的程式碼嗎?

compile除了cin>>u未加;

並未有其他問題吧(compiler不同?)

還有你的y是哪裡來的?



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#25 : 2006-5-17 08:53 PM     全部回覆 引言回覆

這樣我就可以compile了

還會出錯嗎?

(break及default為個人習慣而加的,不影響compile結果)

#include<iostream>
using std::cin;
using std::cout;
using std::endl;

#include<conio.h>

struct score
{
        int n;
        char na[10];
        int chi;
        int eng;
        int mat;
        double are;
};

void main()
{
        int a,u;
        score c[10];

        cout<<"請輸入學生座號姓名及小考期中期末成績"<<endl;
        cin>>u;
        switch (u)
        {
        case 1:
                for(a=0;a<3;a++)
                {
                        cout<<"座號=";
                        cin>> c[a].n;
                        cout<<"姓名=";
                        cin>>c[a].na;
                        cout<<"小考=";
                        cin>>c[a].chi;
                        cout<<"期中=";
                        cin>>c[a].eng;
                        cout<<"期末=";
                        cin>>c[a].mat;
                        c[a].are=(c[a].chi+c[a].eng+c[a].mat)/3;
                }

                for(int b=0;b<3;b++)
                        for(int d=b+1;d<4;d++)
                                if ( c[ b ].are < c[ d ].are )
                                {
                                        score temp=c[b];
                                        c[b]=c[d];
                                        c[d]=temp;
                                }

                cout<<"按照成績高低排序後"<<endl;
                for(int e=0;e<3;e++)
                        cout<<"座號"<<c[e].n<<"\t"<<"姓名"<<c[e].na<<"\t"<<"小考"<<c[e].chi<<"\t"<<"期中"<<c[e].eng<<"\t"<<"期末"<<c[e].mat<<"\t"<<"總平均"<<c[e].are<<endl;
                break;
        case 2:
                cout<<"1111"<<endl;
                break;
        default:
                break;
        }
}
[Johnny Brove 在 2006-5-17 09:16 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#26 : 2006-5-19 01:22 PM     全部回覆 引言回覆


引用:
Acute寫到:
寫法上應該是:
case 1:
{
.....
}

case 2:
{
.......
}

也就是, 每個case 的內容獨立包起來


可是一般的C++參考書並沒有這樣寫啊

應該是不一定必要吧?

紅字的部份都算是case1的敘述

case 1:
        ...............;
        ...............;
        break;



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#27 : 2006-5-19 07:38 PM     全部回覆 引言回覆


引用:
Acute寫到:
況且, 程式語言很多定義也常常被人所忽略
我曾經在讀書會版面發布過一篇我以前研究C 的文章 (擷取自我發表於雜誌與書本的內容)
裡面就針對K&R C & ANSI C 差異性進行探討
該文章發布的原因, 就是ANSI C 被制定後,
發現很多工程師對於移植K&R C to ANSI C 過程中, 總是無法順利解決問題
原始目的是給同僚看, 後來大家都覺得不錯, 就修飾&擴充內容後, 發表於雜誌
最後又收錄到我無聊寫的書本裡面


請問在那裡?

我滿想看的!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Johnny Brove
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
論壇第一正直

 . 積分: 882
 . 精華: 5
 . 文章: 2162
 . 收花: 4874 支
 . 送花: 7205 支
 . 比例: 1.48
 . 在線: 864 小時
 . 瀏覽: 27266 頁
 . 註冊: 8015
 . 失蹤: 4429
 . Lycian League
#28 : 2006-5-20 09:26 PM     全部回覆 引言回覆

找到了
http://twed2k.org/viewthread.php?tid=49786&fpage=1

果然是程式高手

可惜您年紀太大了

不然我也很願意叫你小神童



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

 29  2/2  <  1  2 
   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-5-9 03:15 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.027923 second(s), 7 queries , Qzip disabled