全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1646
推到 Plurk!
推到 Facebook!

【問題】關於C++的一個小問題-矩陣

尚未結案
cyy237
一般會員


發表:2
回覆:1
積分:0
註冊:2004-10-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-17 00:03:28 IP:61.229.xxx.xxx 未訂閱
有人可以幫忙嗎 就是啊, 我要寫一個N*N矩陣,裡面的元素是從1,2,...,N的平方 他的排法就是要直的,橫的,斜的加起來都要一樣 就是跟以前好像有玩過的魔術方陣一樣啦~只有奇數可以 要先輸入N的值 EX:492 816 357
zilch
中階會員


發表:5
回覆:87
積分:78
註冊:2002-09-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-17 01:56:10 IP:218.166.xxx.xxx 未訂閱
#include 
#include     #define BOUND_MAX 19        /* Magic Number */    int square[BOUND_MAX][BOUND_MAX];
void solve1(int n);        /* 解奇數階魔方陣 */
void solve2(int n);        /* 解四的倍數階魔方陣 */
void output(int n);    int main(void)
{
    char str[256];
    int i, n, flag;
    printf("== Magic Squares generating program ==\n");
    printf("Please input order N (N<=0 to exit)\n");        while (1)
    {
        do{
            printf("N = ");
            gets(str);
            flag = 0;                /* 判斷是否輸入文字 */
            for (i=0; i<256 && str[i]!='\0'; i  )
            {
                if (str[i]<'0' || str[i]>'9')
                {
                    if (i==0 && str[i]!='-')
                    {
                        flag=1;
                        break;
                    }
                }
            }
            if (flag)
                printf("Aren't you happy?? Pls input again.\n");
        } while (flag);
        n = atoi(str);            if (n<=0)
        {
            printf("Tkx. Bye-bye^^\n");
            return 0;
        }
        if (n>BOUND_MAX)
            printf("Too big. I don't want to do when N>%d!\n", BOUND_MAX);
        else
        {
            if (n%2==1)
                if (n==1)
                   printf("Too easy. You can do it!\n");
                else
                    solve1(n);        /* 解奇數階魔方陣 */
            else
                if (n%4==0)
                    solve2(n);        /* 解四的倍數階魔方陣 */
                else
                    printf("Sorry, I don't know how to do it??\n");
        }
    };
    return 0;
}    void solve1(int n)        /* 解奇數階魔方陣 */
{
    int i,j;
    int num=0;
    int col, row;        col = (n-1)/2;        /* 先初始化 */
    row = -1;
    for (i=0; i     
        
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-17 02:36:14 IP:221.169.xxx.xxx 未訂閱
引言: 有人可以幫忙嗎 就是啊, 我要寫一個N*N矩陣,裡面的元素是從1,2,...,N的平方 他的排法就是要直的,橫的,斜的加起來都要一樣 就是跟以前好像有玩過的魔術方陣一樣啦~只有奇數可以 要先輸入N的值 EX:492 357 816
cyy237:我有點懷疑這是不是你的作業,魔術方陣不是一個小小的問題-矩陣
,它是一個數學!我覺得你問問題應該是我寫這程式我遇到怎樣的狀況?
發生怎樣的問題?而不是直接丟出一個題目要人幫你解決!
對不起!希望你不要覺得我話重了一點。
請先參考
http://home.educities.edu.tw/listeve/Htm/magicsquare/magicsquare-1.htm
魔術方陣
下面是java程式與C  幾乎一樣,我五分鐘就以BCB的語法寫好程式並OK!
http://www.csie.ncu.edu.tw/~jrjiang/alg2004/programs/ch4/Å]³N¤è°}.java
//檔名:魔術方陣.java
//說明:利用陣列表示魔術方陣並產生奇數魔術方陣
你要的重點是動態產生二維矩陣,請先利用KTop搜尋一下。
有問題,歡迎提出大家共同研究研究!
請參考!
Andy Chang
------
Andy Chang
cyy237
一般會員


發表:2
回覆:1
積分:0
註冊:2004-10-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-17 22:26:48 IP:220.130.xxx.xxx 未訂閱
嗯.....是啊! 因為真的來不及了~ 我下次一定會自己先寫的, 這我不會有下次了。 感謝啊!
系統時間:2024-04-20 16:47:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!