廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2750 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
風雲人物 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x6 鮮花 x57
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
文章表情[C/C++] 斜矩陣,請問有高手可以給我方向嗎??
今天老師出了一個課堂練習題,但是我解不出來!!希望有高手可以給我方向,提供我一點頭緒!!
題目是請使用者輸入一整數n,
假如n=2,列出一2*2矩陣

1 3
2 4

假如n=3,列出一3*3矩陣

1 3 6 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



葉的離去,是風的追求?還是樹的不挽留?
獻花 x0 回到頂端 [樓 主] From:台灣教育部 | Posted:2005-11-23 21:58 |
心無定所 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x6
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

矩陣...你是高中生嗎?? 我記得沒錯的話...學測是不會考矩陣的...


獻花 x0 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-11-23 22:14 |
風雲人物 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x6 鮮花 x57
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

樓上的大大你在搞笑嗎??
學測考C語言嗎= =??


葉的離去,是風的追求?還是樹的不挽留?
獻花 x0 回到頂端 [2 樓] From:台灣教育部 | Posted:2005-11-23 22:25 |
youchun
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x26
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

第一題由左下往右上遞增, 我現在不知道有何較好的方法

第二題可以採用兩層迴圈並由奇偶數列來區分
複製程式
for(i = 0; i < n; i++) {
  if(i % 2 == 0) { // 遞增
    for( j = (i * n); j < (i+1) * n; j++ ) {
      printf("%d\t", j);
    }
  } else { // 遞減
    for( j = ( i+1) * n; j > (i * n); j-- ) {
      printf("%d\t", j);
    }
  }
  printf("\n");
}

--
應該還有更好的方式


獻花 x0 回到頂端 [3 樓] From:台灣中華電信 | Posted:2005-11-24 17:50 |
rakish
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
main()
{
  int c=0,r=0,count=1;
  int i=0,j=0,n=5;
  int a[9][9];

  for(i=0;i<n;i++){
    for(j=0;j<=i;j++){
      a[c][r]=count;
      a[n-1-c][n-1-r]=n*n-count+1;
      if(c-1<0){c=i+1;r=0;}else{c--;r++;}
      count++;
    }
  }
}

n=4 說明
i j
0 0   [0,0]=1, [3,3]=16

1 0   [1,0]=2 ,[2,3]=15
1 1   [0,1]=3 ,[3,2]=14

2 0   [2,0]=4 ,[1,3]=13
2 1   [1,1]=5 ,[2,2]=12
2 2   [0,2]=6 ,[3,1]=11

3 0   [3,0]=7 ,[0,3]=10
3 1   [2,1]=8 ,[1,2]=9
3 2   [1,2]=9 ,[2,1]=8
3 3   [0,3]=10,[3,0]=7

好久沒寫C摟...現在都用什麼compiler阿??

相同的方法..第二題用一個迴圈應該可以搞定
發現在Z整除n 的時候會轉一次方向


[ 此文章被rakish在2005-11-24 21:16重新編輯 ]


人一但長大了
就發現世上的事不像想的那麼好
你總是會一天天長大的
會看得越來越清楚
獻花 x1 回到頂端 [4 樓] From:台灣 | Posted:2005-11-24 20:54 |
mmpo
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x5
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
#include <stdio.h>
#include <stdlib.h>

int main(){
       int i1,i2,j1,j2,k;       
       int num=1,**n;
       
       printf("input a number :");
       scanf("%d",&k);
       n=(int**)malloc(sizeof(int*)*k);
       n[0]=(int*)malloc(sizeof(int)*k*k);
       for(i1=1;i1<k;i1++)
              n[i1]=n[0]+k*i1;
       
       for(i1=0,i2=0 ; (i1<k)&&(i2<k)  ; (i1==k-1)&&i2++,(i1!=k-1)&&i1++)       
              for(j1=i1,j2=i2; (j1>-1)&&(j2<k) ;j1--,j2++)
                     n[j1][j2]=num++;

       for(i1=0;i1<k;i1++){
              for(i2=0;i2<k;i2++)
                     printf("%5d",n[i1][i2]);
              printf("\n");
       }
        //system("pause");
        return 0;
}


複製程式
#include <stdio.h>
#include <stdlib.h>

int main(){
       int i,j,k,num=1;
       int **n;
       
       printf("input a number :");
       scanf("%d",&k);
       n=(int**)malloc(sizeof(int*)*k);
       n[0]=(int*)malloc(sizeof(int)*k*k);
       for(i=1;i<k;i++)
              n[i]=n[0]+k*i;
       
       for(i=0;i<k;i++)
              for( (i+1)%2&&(j=0) , (i+1)%2==0&&(j=k-1)   ; j<k&&j>-1 ;      (i+1)%2&&(j++),(i+1)%2==0&&(j--))
                     n[i][j]=num++;
       
       for(i=0;i<k;i++){
              for(j=0;j<k;j++)
                     printf("%3d",n[i][j]);
              printf("\n");
       }
  //system("pause");
}







獻花 x1 回到頂端 [5 樓] From:台灣中華電信 | Posted:2005-11-26 10:18 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.076488 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言