史萊姆論壇

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

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

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

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

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2008-05-14, 11:11 PM   #1
foxsimon2001 帥哥
註冊會員
榮譽勳章
UID - 16145
在線等級: 級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時
註冊日期: 2002-12-22
VIP期限: 2011-07
住址: 台北市
文章: 1580
精華: 0
現金: 146 金幣
資產: 184250 金幣
預設 程式 - 關於C++ 氣泡排序法



程式規格是要用陣列來放入12個月份字串 之後再按照英文首一個字母排序
可是這樣會出現過多初始值 無法執行

char m[SIZE]= 可以改成 string m[size]=嗎??
我是想要把12個字串 分別放到12個陣列空間 之後再比較
可是似乎不行耶 希望大家能告訴我有沒有這種用法呀....


#include <iostream>
#include <cstring>
#define SIZE 12
using namespace std;
void main()
{
char m[SIZE]={"January", "February", "March",
"April", "May","June","July", "Aguest",
"September", "October", "November", "December"};

for(int a = 0 ; a < SIZE ; a++)
{
for(int j = a + 1 ; j < SIZE ; j++)
{
if( m[a] > m[j] )
{
char temp = m[a];
m[a] = m[j];
m[j] = temp;
}
}

}
cout << endl << "排序後 : " << endl;
for (int b = 0 ; b < SIZE ; b++)
cout << m[b] << endl;
}
foxsimon2001 目前離線  
送花文章: 112, 收花文章: 57 篇, 收花: 165 次
回覆時引用此帖
舊 2008-05-15, 02:07 AM   #2 (permalink)
註冊會員
 
ben2ben2 的頭像
榮譽勳章
UID - 297229
在線等級: 級別:5 | 在線時長:51小時 | 升級還需:9小時級別:5 | 在線時長:51小時 | 升級還需:9小時級別:5 | 在線時長:51小時 | 升級還需:9小時級別:5 | 在線時長:51小時 | 升級還需:9小時級別:5 | 在線時長:51小時 | 升級還需:9小時
註冊日期: 2008-03-29
住址: 巨人的肩膀上
文章: 100
精華: 0
現金: 32 金幣
資產: 765 金幣
預設

用這個看看吧

string months[12] ={"January","February","March","Aprile","May","June","July","August",

"September","October","November","December"};

印象中Char不能這樣用@@
抱歉,我畢業後就沒碰過程式語言囉,剛看以前的書還真有點看不懂。

在語法、函數和變數等章節會有詳細說明

此帖於 2008-05-15 02:09 AM 被 ben2ben2 編輯. 原因: 補漏
ben2ben2 目前離線  
送花文章: 98, 收花文章: 80 篇, 收花: 287 次
回覆時引用此帖
舊 2008-05-15, 03:38 AM   #3 (permalink)
註冊會員
榮譽勳章
UID - 293162
在線等級: 級別:2 | 在線時長:18小時 | 升級還需:3小時級別:2 | 在線時長:18小時 | 升級還需:3小時
註冊日期: 2008-02-12
文章: 327
精華: 0
現金: 16 金幣
資產: 16941 金幣
預設

試試看吧!

語法:
#include <iostream>
#include <cstring>
#define SIZE 12
using namespace std;
void main()
{
char m[SIZE][20]={"January", "February", "March", 
"April", "May","June","July", "Aguest", 
"September", "October", "November", "December"};

char temp[20];

for(int a = 0 ; a < SIZE ; a++)
{
for(int j = a + 1 ; j < SIZE ; j++)
{
if( strcmp(m[a],m[j])>0 )
{
	strcpy(temp,m[a]);
	strcpy(m[a],m[j]);
	strcpy(m[j],temp);
	//char temp = m[a];
	//m[a] = m[j];
	//m[j] = temp;
}
}

}
cout << endl << "排序後 : " << endl;
for (int b = 0 ; b < SIZE ; b++)
cout << m[b] << endl;
}
rank 目前離線  
送花文章: 362, 收花文章: 221 篇, 收花: 411 次
回覆時引用此帖
舊 2008-05-15, 08:57 PM   #4 (permalink)
註冊會員
榮譽勳章
UID - 16145
在線等級: 級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時級別:39 | 在線時長:1754小時 | 升級還需:6小時
註冊日期: 2002-12-22
VIP期限: 2011-07
住址: 台北市
文章: 1580
精華: 0
現金: 146 金幣
資產: 184250 金幣
預設

謝謝大家回應

原來是要用string m[12]
只是標頭檔要加#include <string>
之前加錯了 所以string不能用
foxsimon2001 目前離線  
送花文章: 112, 收花文章: 57 篇, 收花: 165 次
回覆時引用此帖
發文 回覆



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

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

相似的主題
主題 主題作者 討論區 回覆 最後發表
程式 - 汽泡排序的問題 onlyaway 程式語言討論區 1 2006-11-02 11:52 AM


所有時間均為台北時間。現在的時間是 02:38 AM


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


SEO by vBSEO 3.6.1