PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
kiten
*停權中*
 
kiten的大頭照
 

加入日期: Apr 2005
文章: 17
引用:
作者cowbayla
本來想想幫幫忙的 但是寫到一半發現卡住了 嗚~

請問該兩個檔案都是只有數字嗎?

比大小的方式是那種 123 32 8787 還是一個一個數字比的像是 5 2 3 1 3 4 的阿?

還有可以知道array 最大要開多大嘛? 不然好像要用alloc () 耶,忘光了..

那個我要去翻書才會了.

我不知這樣算不算犯規
因為C程式寫起來比較辛苦
假設用python或perl寫好一個程式確定可執行
以python為例執行方式為python filename.py
我的C程式只需一行就行了
system("python filename.py")
呼叫作業系統執行已編寫好的python程式
     
      
舊 2005-10-20, 10:37 AM #21
回應時引用此文章
kiten離線中  
Michael7
New Member
 

加入日期: Sep 2004
文章: 9
引用:
作者boyman
你應該不是讀資訊相關的吧

應該不是
連檔名都看不出來的話

樓主kurt要仔細看
眼睛的用處很多
但是要”用”
明明就說是py 還要再問一次是不是c....
這樣大家會有orz的感覺....
 
舊 2005-10-20, 12:26 PM #22
回應時引用此文章
Michael7離線中  
Michael7
New Member
 

加入日期: Sep 2004
文章: 9
引用:
作者UP-UP
請問,如何修改eM(騾子)
PS. 門外漢

ahh.... in this case....
首先,修行在個人.....
再來,這東西是open source
第三,所以就去找其source code, 官網有
最後,還是回到我前面說的,修行在個人....


-------------------------------------
題外,沒事改它做啥??
名聲已經不太好了還想再低一點?
舊 2005-10-20, 12:34 PM #23
回應時引用此文章
Michael7離線中  
瘋狂火星人
Elite Member
 
瘋狂火星人的大頭照
 

加入日期: Jul 2004
您的住址: 無止盡的文件地獄~~
文章: 4,714
引用:
作者cowbayla
本來想想幫幫忙的 但是寫到一半發現卡住了 嗚~

請問該兩個檔案都是只有數字嗎?

比大小的方式是那種 123 32 8787 還是一個一個數字比的像是 5 2 3 1 3 4 的阿?

還有可以知道array 最大要開多大嘛? 不然好像要用alloc () 耶,忘光了..

那個我要去翻書才會了.


以我學的DELPHI來說,陣列可以動態指定長度,C應該也行....

檔案要先用符號把數字隔開,或是分行....
讀檔之後判斷有多少數字,就可以設定多大的陣列長度.....
接下來就是基本的比大小排序了......
__________________

歡迎光臨瘋狂火星基地~~
自然進氣可變汽門單缸雙活塞人肉避震
舊 2005-10-20, 12:39 PM #24
回應時引用此文章
瘋狂火星人離線中  
瘋狂火星人
Elite Member
 
瘋狂火星人的大頭照
 

加入日期: Jul 2004
您的住址: 無止盡的文件地獄~~
文章: 4,714
引用:
作者zick.char
C絕對可以....
小弟沒學過C....所以正確的語法不敢亂寫....
不過過程就像ElvisTu說的那樣....(大部分的程式)

宣告陣列a型態大小(N)等
宣告陣列b型態大小(M)等
宣告陣列C型態大小(N+M)等
開檔案(或record)a並帶入給 陣列a
開檔案(或record)b並帶入 給陣列b
陣列a + 陣列b之後丟給陣列C
排序陣列C
開新檔(指定要存放的地方)
寫入檔案(存入到剛剛那個新開的檔案)

真的就只是這樣....


別說C,就連QB都寫的出來......
寫這種東西是最最基本的....
樓主該好好考慮是不是要繼續走程式這一行了....
__________________

歡迎光臨瘋狂火星基地~~
自然進氣可變汽門單缸雙活塞人肉避震

此文章於 2005-10-20 12:43 PM 被 瘋狂火星人 編輯.
舊 2005-10-20, 12:40 PM #25
回應時引用此文章
瘋狂火星人離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
引用:
作者kiten
我不知這樣算不算犯規
因為C程式寫起來比較辛苦
假設用python或perl寫好一個程式確定可執行
以python為例執行方式為python filename.py
我的C程式只需一行就行了
system("python filename.py")
呼叫作業系統執行已編寫好的python程式



沒想到在 78 區也可以遇到 Python 的愛好者...
舊 2005-10-20, 03:15 PM #26
回應時引用此文章
harrisonlin離線中  
kiten
*停權中*
 
kiten的大頭照
 

加入日期: Apr 2005
文章: 17
引用:
作者harrisonlin
沒想到在 78 區也可以遇到 Python 的愛好者...

自從用了python後,我把Delphi,VB,C等通通忘光啦
我用python很輕易地解決下列問題(跟公務絕對相關)
1.telnet
2.regular expression
3.md5編碼
4.sha編碼
5.sort
6.匯出資料到excel及公式
.....
用C或Delphi恐怕我要付出超過十倍以上的程式碼及時間才能達到相同需求
舊 2005-10-20, 05:05 PM #27
回應時引用此文章
kiten離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
引用:
作者kiten
自從用了python後,我把Delphi,VB,C等通通忘光啦
我用python很輕易地解決下列問題(跟公務絕對相關)
1.telnet
2.regular expression
3.md5編碼
4.sha編碼
5.sort
6.匯出資料到excel及公式
.....
用C或Delphi恐怕我要付出超過十倍以上的程式碼及時間才能達到相同需求


看來 kiten 兄用 Python 用得比我還熱絡呢~

的確, Python 的好,用過的人都知道!
舊 2005-10-20, 05:07 PM #28
回應時引用此文章
harrisonlin離線中  
cowbayla
Amateur Member
 

加入日期: Jul 2002
文章: 36
這是用C寫的 希望對你有幫助~
1. 開檔 A 和 B 檔 並且讀去 array a 和 array b ..

if( (pTextFile=fopen(TEXT_FILE_PATH_AND_FILENAME, "r")) == NULL)
{
printf("\nProblem reading file: %s\n", TEXT_FILE_PATH_AND_FILENAME);
}
else if( (pTextFile2=fopen(SECOND_TEXT_FILE_PATH_AND_FILENAME, "r")) == NULL)
{
printf("\nProblem reading file: %s\n", SECOND_TEXT_FILE_PATH_AND_FILENAME);
}
else
{
iCharsReadFromFile = 0; //用來計算array 裡面總共有計個數字
iCharsReadFromFile2 = 0;


//開始讀取檔案A
while( cCharFromFile != EOF && iCharsReadFromFile < MAX_FILE_SIZE )
{

sTextFileContents[iCharsReadFromFile++] = cCharFromFile;

//一次讀一條int去array
fscanf(pTextFile,"%d",cCharFromFile );

}
//開始讀取檔案B
while( cCharFromFile2 != EOF && iCharsReadFromFile2 < MAX_FILE_SIZE )
{

sTextFileContents2[iCharsReadFromFile2++] = cCharFromFile;


cCharFromFile2 = fgetc(pTextFile2);
}

2 用merge function 把 兩個a 和 b array 合併起來 到c~


void merge(int [], int asize, int B[], int bsize, int C[], int csize) {
int ai, bi, ci, i;

ai = 0;
bi = 0;
ci = 0;
while ((ai < asize) && (bi <= bsize)) {
if (A[ai] <= B[bi]) {
C[ci] = A[ai];
ci++; ai++;
} else {
C[ci] = B[bi];
ci++; bi++;
}
}

if (ai >= asize)
for (i = ci; i < csize; i++, bi++)
C[i] = B[bi];
else
for (i = ci; i < csize; i++, ai++)
C[i] = A[ai];

}

3.比大小 array用 sort..
這裡偷懶 記得 #include <stdlib.h>

//c代表array 名稱,csize 代表array的大小

heapSort(c, csize);

4. 在array最後加個'\0'.. 忘記為什麼要這樣 老師教的

sResultTextFileContents[iCharsReadFromFile + iCharsReadFromFile2] = '\0';

5.. 用 fpintf() 來列印C 到新的檔案.
fprintf( stream, "%f\n", fp );

6.
關檔
fclose(pTextFile);// a檔
fclose(pTextFile2);//b檔
fclose(pResultFile);//c檔
舊 2005-10-20, 06:10 PM #29
回應時引用此文章
cowbayla離線中  
ElvisTu
*停權中*
 
ElvisTu的大頭照
 

加入日期: Aug 2003
文章: 226
引用:
作者瘋狂火星人
以我學的DELPHI來說,陣列可以動態指定長度,C應該也行....

檔案要先用符號把數字隔開,或是分行....
讀檔之後判斷有多少數字,就可以設定多大的陣列長度.....
接下來就是基本的比大小排序了......

+1
在perl 的 陣列的長度也是動態
隨時可以擴充和減少…

小弟學perl來寫cgi的
舊 2005-10-20, 07:53 PM #30
回應時引用此文章
ElvisTu離線中  


    回應


POPIN
主題工具

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

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是09:38 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。