顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - 史瑞克

頁: [1] 2
1
Study-Area 公開討論版 / Study-Area 文章有問題
« 於: 2010-10-11 11:49 »
http://www.study-area.org/cyril/opentools/opentools/x969.html

AT&T 與 Intel/Microsoft 的差別裡面

( ) 是小括號,不是大括號

{ } 才是大括號

數學上來講的話......

2
C/C++程式設計討論區 / [作業] DS 的 Recursion
« 於: 2010-09-18 21:09 »
這段程式碼是用來算

e^x = 1 + x + x^2 / 2! + x^3 / 3! + ......

今天只讓該程式算到 x^15 / 15! 而已

x 用 5 代入

不過執行下去的結果是 nan

完全不知道問題在哪裡

Fact function 是階乘 recursion

Exp function 是指數 recursion

Sum function 是用來累算 1 + x^2 / 2! + x^3 / 3! + ...... + x^15 / 15!

目前每個 Function debug 後

Fact 和 Exp 的結果都沒問題

  8 # include <stdio.h>
  9
 10 double Fact ( double num ) {
 11
 12   if( num <= 1 ) return 1;
 13
 14   else return num * Fact( num-1 );
 15
 16 } // float Fact()
 17
 18 double Exp ( double base, double power ) {
 19
 20   if ( power > 0 )
 21     return base*Exp( base, power-1 );
 22
 23   else return 1;
 24
 25 } // float Exp()
 26
 27 double Sum ( double sum, double x, double max ) {
 28
 29   max++;
 30
 31   sum = sum + Exp( x, max ) / Fact( max );
 32
 33   if ( max < 15 ) // 當 Sum 算到 max 為 15 後就停止
 34     Sum ( sum, x, max );
 35
 36   else return sum;
 37
 38 } // float Sum()
 39
 40 main() {
 41
 42   double x = 5, max = 0, sum = 1;
 43
 44   printf( "%f\n", Sum( sum, x, max ) );
 45
 46 } // main()

P.S. 有規定禁止使用 exp(x)

後來發現到 Sum 的 34 行忘記加 return

另外 Sum 本身邏輯出現錯誤......


Update: 問題已自行解決

3
BSD 討論版 / 套件找不到
« 於: 2010-08-21 22:42 »
安裝套件時

居然發出 : pkg_add: could not find package: ...............

蠻誇張的

伺服器是 ftp.freebsd.org

官方的伺服器......

不過 /etc/make.conf 設定真的有用???

打開看沒看到什麼參數是連 ftp.freebsd.org 的地方...

4
BSD 討論版 / FreeBSD Kernel Source
« 於: 2010-08-19 01:38 »
請問各位大大

FreeBSD Kernel Source 在哪可以抓?

Linux Kernel 都有 www.kernel.org 提供 source

FreeBSD 就找不到......

5
肉腳版 / /boot分割
« 於: 2010-06-26 10:42 »
我的Linux系統"/boot"沒有額外分割出來

但是有人說現在GRUB 2王朝還是要把"/boot"分割出來(大約64MB)

請問這樣割有什麼好處???

6
肉腳版 / 讓Linux 32-bit破除RAM關卡
« 於: 2010-04-08 00:41 »
請問各位
如何讓Linux 32-bit破除3250 MB RAM的限制???

跟同學研究Linux的kernel
似乎不是跟kernel有關...
Linux kernel頂多只有記憶體分頁管理(好像是負責跳出segmentation fault的東西)

7
MIS 討論區 / 阻擋搜索MAC
« 於: 2010-04-07 22:18 »
我最近要當某大學宿舍的網管

從歷屆幹部流傳下來的經驗顯示出

每年固定會發生一次搶MAC流量的事件

學校的網路管理方法是一個IP綁一個MAC

每個IP都有固定上下傳流量

同學就是有辦法用軟體掃描同網域內電腦的MAC

然後就修改MAC盜用別人的流量

請問這種事情有沒有辦法防堵?

8
我把我的筆電裝上Debian
切換外接螢幕輸出(投影機之類的東西)
會直接死當
請問各位大大是哪裡出問題???
還是說機器老舊???

在Windows XP底下就非常正常



Update :
之後測試,發現到Debian是以外接螢幕的解析度為優先
如果要放投影機之類的東西
要先插投影機後再開機才能顯示投影機
不能先開機再插投影機
要不然投影機不會顯示
但是筆電螢幕的解析度就變成投影機的解析度

9
題目 :
寫出一個Linked List專門存放字串和數字一組
然後印出來
先不管output的程式碼(因為老師不給...)


typedef char Str[40];

struct Account {
  Str name;
  int id;
  Account *next;
};

typedef Account AccountPtr;

main() {

  AccountPtr account = NULL;

  AccountPtr head = NULL; // linked list 開頭
  Str RegistName;
  int RegistID;

  scanf( "%s", RegistName ); // 第一組字串

  while ( strcmp( RegistName, "-1" ) != 0 ) { // 當輸入-1的時候, input 迴圈停止

     scanf( "%d", &RegistID ); // 第一組數字

     strcpy( head -> name, RegistName );
     head -> id = RegistID;

     scanf( "%s", RegistName ); // 下一組字串

  } // while()
} // main()

話說我的程式碼好像少了什麼東西
變成第一組的資料被下一組覆蓋
然後印不出來...

10
MIS 討論區 / MIS到底是什麼樣的工作???
« 於: 2010-01-14 17:06 »
請問MIS是什麼樣的工作呢???
網管???
還是不只那些???

11
C/C++程式設計討論區 / ID規定檢查
« 於: 2010-01-14 16:55 »
題目:
規定所有ID為6碼
第一碼是字母
後五碼是數字
例如:
A12345 正確!
AB2345 error
1B234A error

目前我想到有兩種方法:
1.用ctype.h的函式庫的isDigit()一個一個字元慢慢檢查
2.用if('A'<= char && 'Z'>= char)之類的方式判斷一個一個字元檢查

請問還有別的方法嗎???

12
C/C++程式設計討論區 / 八皇后程式
« 於: 2010-01-13 14:37 »
此皇后指的是西洋棋中的皇后

而西洋棋的王后可以縱向、橫向、斜向的任意移動

移動到有其他棋子的格子上時,就能把它吃掉

接下來請自行觀看網頁

http://www.mathland.idv.tw/game/eightqueens.html

遇到的問題: (題意請描述清楚)
   我寫了一個八皇后程式,但是編譯以後執行卻完全沒東西,
   可否請板上各位高手幫我看一下,謝謝

希望得到的正確結果:
  八皇后的解

程式跑出來的錯誤結果:
  完全不會動...

開發平台:
  Dev-c++ 4.9.9.2

有問題的code: (請善用置底文標色功能)

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

int count(int,int);
void setchessboard();
int findmin();
int findminadd();
int putqueen(int,int,int,int);
int setblock(int,int);
void printchessboard();
void removequeen(int,int);
void resetchessboard();
int chessboard[8][8];
int countsolnumber=1;

int main()
{
     resetchessboard();
     int x1,x2,x3,x4,x5,x6,x7,x8;
     int y1,y2,y3,y4,y5,y6,y7,y8;
     int z1,z2,z3,z4,z5,z6,z7,z8;
     for(x1=0;x1<=7;x1++)
       for(y1=0;y1<=7;y1++)
       {z1=putqueen(x1,y1,0,0);
        if(z1==2)
         {for(x2=0;x2<=7;x2++)
           for(y2=0;y2<=7;y2++)
            {z2=putqueen(x2,y2,x1,y1);
              if(z2==2)
               {for(x3=0;x3<=7;x3++)
                 for(y3=0;y3<=7;y3++)
                  {z3=putqueen(x3,y3,x2,y2);
                   if(z3==2)
                    {for(x4=0;x4<=7;x4++)
                      for(y4=0;y4<=7;y4++)
                       {z4=putqueen(x4,y4,x3,y3);
                         if(z4==2)
                          {for(x5=0;x5<=7;x5++)
                            for(y5=0;y5<=7;y5++)
                             {z5=putqueen(x5,y5,x4,y4);
                               if(z5==2)
                                {for(x6=0;x6<=7;x6++)
                                  for(y6=0;y6<=7;y6++)
                                   {z6=putqueen(x6,y6,x5,y5);
                                     if(z6==2)
                                      {for(x7=0;x7<=7;x7++)
                                        for(y7=0;y7<=7;y7++)
                                         {z7=putqueen(x7,y7,x6,y6);
                                           if(z7==2)
                                            {for(x8=0;x8<=7;x8++)
                                              for(y8=0;y8<=7;y8++)
                                               {z8=putqueen(x8,y8,x7,y7);
                                                 if(z8==3)
                                                  continue;
                                                 else
                                                  continue;
                                               }
                                            }
                                           else
                                            continue;}
                                      }
                                     else
                                      continue;}
                                }
                               else
                                continue;}
                          }
                         else
                          continue;}
                    }
                   else
                    continue;}
               }
              else
               continue;}
         }
        else
         continue;}


    getchar();
    return 0;
}

int count(int i,int j)
{
    int a,b,c=0,d;
    for(a=0;a<=7;a++)
      for(b=0;b<=7;b++)
      {
        for(d=1;d<=8;d++)

{if((chessboard[a]!=1)&&(chessboard[a]!=100)&&(a==i-d)&&(b==j-d))
            c+=1;
           else
if((chessboard[a]!=1)&&(chessboard[a]!=100)&&(a==i+d)&&(b==j-d))
            c+=1;
           else
if((chessboard[a]!=1)&&(chessboard[a]!=100)&&(a==i-d)&&(b==j+d))
            c+=1;
           else
if((chessboard[a]!=1)&&(chessboard[a]!=100)&&(a==i+d)&&(b==j+d))
            c+=1;
           else
            continue;
          }
        if((chessboard[a]!=1)&&(chessboard[a]!=100)&&((a==i)||(b==j)))
          c+=1;
        else
         continue;
      }

      return c;
}

int findmin()
{
    int e,f,min=1000;
     for(e=0;e<=7;e++)
      for(f=0;f<=7;f++)

{if((chessboard[e][f]!=1)&&(chessboard[e][f]!=0)&&(chessboard[e][f]<min))
        min=chessboard[e][f];
       else
        continue;
       }

    if(min==1000)
     return -1;
    else
     return min;
}

int findminadd()
{
    int g,h,k=0;
    if(findmin()!=-1)
     {for(g=0;g<=7;g++)
       for(h=0;h<=7;h++)
        {if(chessboard[g][h]==findmin())
           k+=1;
         else
          continue;
        }
      return k;
      }
    else
      return -1;
}

int setblock(int s1,int s2)
{
    int sb1,sb2,sb3;
    for(sb1=0;sb1<=7;sb1++)
     for(sb2=0;sb2<=7;sb2++)
      {if(chessboard[sb1][sb2]!=100)
        {chessboard[s1][sb2]=1;
         chessboard[sb1][s2]=1;}
        for(sb3=1;sb3<=8;sb3++)
         {
          if(((sb1-sb3)>=0)&&((sb2-sb3)>=0))
             chessboard[(sb1-sb3)][(sb2-sb3)]=1;
          else if(((sb1+sb3)<=7)&&((sb2-sb3)>=0))
             chessboard[(sb1+sb3)][(sb2-sb3)]=1;
          else if(((sb1-sb3)>=0)&&((sb2+sb3)<=7))
             chessboard[(sb1-sb3)][(sb2+sb3)]=1;
          else if(((sb1+sb3)<=7)&&((sb2+sb3)<=7))
             chessboard[(sb1+sb3)][(sb2+sb3)]=1;
          else
            continue;
         }
      }
     return 0;
}

int putqueen(int pq1,int pq2,int pq3,int pq4)
{
    static int queen=0;
    int k=findminadd();
      if((k>=(8-queen))&&(queen<8))
       { chessboard[pq1][pq2]=100;
         setblock(pq1,pq2);
         queen+=1;
         return 2;}
      if(queen==8)
       {printchessboard();
        countsolnumber+=1;
        queen=0;
        return 3;}
      if((k<queen)&&(queen!=8))
       { removequeen(pq3,pq4);
         queen-=1;
        return 4;}


}

void removequeen(int rq1,int rq2)
{
   chessboard[rq1][rq2]=0;
   int m,n,o;
    for(m=0;m<=7;m++)
     for(n=0;n<=7;n++)
      {  chessboard[rq1][m]=0;
         chessboard[n][rq2]=0;
        for(o=1;o<=8;o++)
         {
           if(((rq1-o)>=0)&&((rq2-o)>=0))
             chessboard[(rq1-o)][(rq2-o)]=0;
           else if(((rq1+o)<=7)&&((rq2-o)>=0))
             chessboard[(rq1+o)][(rq2-o)]=0;
           else if(((rq1-o)>=0)&&((rq2+o)<=7))
             chessboard[(rq1-o)][(rq2+o)]=0;
           else if(((rq1+o)<=7)&&((rq2+o)<=7))
             chessboard[(rq1+o)][(rq2+o)]=0;
           else
            continue;
         }
      }
       setchessboard();


}
void printchessboard()
{
    cout<<"--"<<endl;
    cout<<"第"<<countsolnumber<<"組解\n\n";
    cout<<"皇后的位置\n"<<"1.以坐標表示為:"<<endl;
     int p0,p1,p2,p3;
     for(p1=0;p1<=7;p1++)
      for(p2=0;p2<=7;p2++)
      {
        if(chessboard[p1][p2]==100)
         cout<<"<"<<p1<<","<<p2<<">\t";
      }
     cout<<endl;
     cout<<"2.以圖形表示:"<<endl;
     cout<<"  ";
     for(p0=0;p0<=7;p0++)
      {cout<<p0<<" ";
      }
     cout<<endl;
     for(p1=0;p1<=7;p1++)
      for(p2=0;p2<=7;p2++)
      {
       if((p2==0)&&(p2!=7)&&(chessboard[p1][7]!=100))
        cout<<p1<<"  ";
       else if(((p2==0)&&p2!=7)&&(chessboard[p1][7]==100))
        cout<<p1<<" Q ";
       else if ((p2!=0)&&(p2==7)&&(chessboard[p1][7]!=100))
        cout<<"  "<<endl;
       else if ((p2!=0)&&(p2==7)&&(chessboard[p1][7]==100))
        cout<<"Q"<<endl;
       else if ((p2!=0)&&(p2!=7)&&(chessboard[p1][7]==100))
        cout<<"Q ";
       else
        cout<<" ";
      }
}

void resetchessboard()
{
    int re1,re2;
     for(re1=0;re1<=7;re1++)
      for(re2=0;re2<=7;re2++)
       {chessboard[re1][re2]=0;
       }

    setchessboard();
}

void setchessboard()
{
   int set1,set2;
     for(set1=0;set1<=7;set1++)
      for(set2=0;set2<=7;set2++)
       {chessboard[set1][set2]=count(set1,set2);
       }
}

以前我們系上的人寫的
(對大學生來說)真的是世界奇觀......

13
C/C++程式設計討論區 / 編譯程式好神奇~~~
« 於: 2009-12-30 23:15 »
我的程式碼
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <ctype.h>

typedef char Str[20];

main() {
      
       Str test = "\0";
       Str reg = "\0";
       scanf( "%s", &reg );
       strncpy( test, reg, 4 );
       printf( "%s\n", test );
      
       scanf( "%s", &reg ); /*只是讓他在MS暫停而已*/
} // main()

在Dev-C++是沒問題一次過

input:
某某老師好帥

output:
某某    (這是正確結果)

====================================================

但是在Kubuntu的GCC底下就跳出這個compiler error

test.c: In function ‘main’:
test.c:11: warning: format ‘%s’ expects type ‘char *’, but argument 2
has type ‘char (*)[20]’
test.c:17: warning: format ‘%s’ expects type ‘char *’, but argument 2
has type ‘char (*)[20]’

Update:
我把我同學的ArchLinux挖出來用Block::code跑
可以過
但是如果輸入超過兩個以上的中文字
第一個沒問題但是第二個字會變亂碼

input:
某某老師好帥

output:
某# (不一定是#)

Final Update:
真的只是warning.....我眼殘..

14
Linux 討論版 / Debian的ipw2200-bss.fw這個driver
« 於: 2009-12-26 22:11 »
請問各位大大
這個東西要在哪抓???
去Debian的wiki找到很多
不知道是哪一個
連裝都不會裝.......

第一次使用Debian......誰說跟Ubuntu差不多= =?

後來找到一個tgz這個檔案
怎麼用呀= =?

15
C/C++程式設計討論區 / C語言的字母排序
« 於: 2009-12-21 09:54 »
請問各位大大
strcpy( , ) 這個語法也能用在字母排序嗎???
類似英文字典那種排法

Ex:
AA
AB
AC
BA
BB
BC
CA
......

16
輸入某數字
在小數點節取某部分
Ex :
Input 32.00235
然後把小數點底下的235抓出來

之前構想就是用atoi的方式數據處理
發現到這很蠢......
atoi轉過去後
變成32.002350(反正後面會多幾個零
囧......

字串處理......
我想不出來

17
課後溫習+認證考試 / C語言金字塔印星星
« 於: 2009-10-20 15:30 »
這題我卡超久的
都沒東西印出來
例如:

input:
1 ← debug用

9 ←最後印出9個星星

output:
*
***
*****
*******
*********

底下是我的程式碼

# include <stdio.h>
# include <stdlib.h>
static int utestnum = 0;

main() {
  int num1 = 1; //第一行印一個星星
  int num2 ; //最後一行印幾個星星
  int step; //輸入次數計算器
  scanf( "%d", &utestnum );
  scanf( "%d", &num2 ); // 讀入最後印幾個星星
  while ( num1 <= num2 ) {
    step = num1; // 計數器
    while ( step == 0 ) {
      printf( "*" );
      step = step - 1; // 每印出一次就扣一次計數
    } // while ( num1 == 0 )
    num1 = num1 + 2;
    printf( "\n" );
  } // while ( num1 > num2 )
} // main()

執行結果是沒東西印出來......

Update:
修改紅色的地方
就這樣過了......

18
C/C++程式設計討論區 / 字符(char)變程式碼
« 於: 2009-10-19 12:30 »
請問各位大大
有沒有可能輸入一個字符變成程式碼???
Ex:

Input: 2 * 2

Output: 4

19
C/C++程式設計討論區 / C語言的問題......
« 於: 2009-08-16 14:38 »
函式主體開始前面會有函是頭
奇怪的是函式頭如果是:

void main()

gcc會警告說 「main」 的回傳類型不是 「int」,但是也能編譯成功
但是如果改成:

int main(void)

gcc就會什麼都沒有就給過了
請問這兩種函式頭差別在哪裡?

另外函式主體最後一行會加上return 0;
請問這是要做什麼用的?

總覺得Ivor Horton教的程式碼有些gcc會丟警告出來

20
Linux 討論版 / 把openSUSE安裝在SoftRAID上
« 於: 2009-08-15 22:33 »
我寫的這個方式是主要靠安裝系統的時候就直接設定好
不用YaST事後處理
來幫忙看看吧
http://blog.yam.com/shrekwang/article/23396129

21
程式討論版 / Perl和Python
« 於: 2009-08-15 18:22 »
請問各位大大
Perl和Python那一個比較好?
好像都差不多

22
Linux 討論版 / Linux上撲浪
« 於: 2009-08-08 23:31 »
有用撲浪過的有沒有發現到會有過慢的問題呀?
我的有時候還會卡住!
有什麼方式可以調整好呢?

23
雜七雜八 / 實在有夠煩惱的
« 於: 2009-08-07 17:11 »
今年我確定考上中原資工
大一要上C/C++
問題是現在助教或教授都用Windows
我這個習慣用Linux寫程式的該怎麼辦?
要轉回Windows寫比較好?

24
雜七雜八 / 主機板診斷測試卡
« 於: 2009-07-26 20:31 »
今天買散熱膏,剛好看到原廠測試主機板常用的診斷卡
一張才200多
回去用一用
看不懂......
AMI BIOS和Award BIOS差在哪裡?
有人用過嗎?

25
Computer 討論版 / 蜂鳴器猛拉長音
« 於: 2009-07-26 20:26 »
請問各位大大
我有兩個主機板

一個一開機就拉長音狂叫
一個一開機就搞自閉不叫
兩個通通沒畫面
請問要怎麼解決?

26
雜七雜八 / 軌跡球......算是閒聊吧
« 於: 2009-07-21 20:01 »
各位大大有沒有用過軌跡球這種滑鼠呀?
有人有適應成功
有的是隔天馬上退貨

今天剛買了羅技的軌跡球
大動作挺爽的,滾一下就飄很遠
不過做繪圖或者細微動作的時候大拇指會抖

27
1.不能看Youtube
一進去就是灰一片,其他網頁像是http://www.gamer.com.tw就能播放
2.音效卡搞神經
關機的特效聲和Pidgin的登入登出聲音都很正常,但是播放音樂CD是無聲狀態,開機聲音也會說某個音效程式無用,改用別的
3.DVD不能播放
曾經用Kaffeine播放,結果說下載Xine,後來結果是不能安裝,說是少了一大堆有的沒的

以上
還真麻煩........

慢慢解決中

28
Linux 討論版 / openSUSE的安裝軟體不能下載
« 於: 2009-07-16 19:42 »
要開啟安裝軟體時
給了一個訊息
下載失敗:
  「http://download.opensuse.org/distribution/11.1/repo/non-oss/content」下載(curl)錯誤:
錯誤碼為:user abort
錯誤訊息為:connect() time out!

請問要如何處理?

29
剛剛好不容易弄出RAID
結果openSUSE給我一個驚喜
KDE居然沒有中文化
預設明明就是繁體中文
但是介面通通是中文

我的是AMD64版本

30
肉腳版 / 內建顯示插顯示卡
« 於: 2009-07-14 19:55 »
這是我第一次搞all in one主機板
所以我不知道
請問有顯示卡的主機板
如果外插一個顯示卡
內接顯示會不會吃RAM???

頁: [1] 2