顯示廣告
隱藏 ✕
看板 Programming
作者 abc1231qa(替咖)
標題 [轉錄] 為了找工作的C++課程--作業2
時間 2010年02月24日 Wed. AM 11:24:18


※ 本文轉錄自 Knuckles_note 看板

看板 Knuckles
作者 Knuckles(阿德)
標題 為了找工作的C++課程--作業2
時間 2008年08月08日 Fri. PM 10:24:38


看完陣列與指標後的作業:
 
1. 矩陣相乘
 
   [ 1 2 3 ]   [ 10 11 12 13]
   [ 4 5 6 ] * [ 14 15 16 17] = ?
               [ 18 19 20 21]
 
2. 累積分佈圖(histogram)
 
   建立一個10*100的矩陣,裡面的值是用rand()產生的0~9的隨機數
   計算他的histogram並顯示出來,像下面這樣:
 
   值  數量     0   20  40  60  80  100 120
   --  ----     +---+---+---+---+---+---+---
    0  94        ******************
    1  101       ********************
    2  107       *********************
    3  93        ******************
    4  104       ********************
    5  111       **********************
    6  94        ******************
    7  94        ******************
    8  96        *******************
    9  106       *********************  

3. 矩陣一維轉二維

  char x1[] = {"  .★.       ★ * ★  ★     *★ .'       ★*      "
               "              *★                 ★'‘*.          "
               "   .*      ‘★       ★'           ‘* ★ ’       "};

  x1是一個長度為154的字元矩陣,請把他轉為一個7x22的二維矩陣並顯示出來
   
4. 抽籤

   設一個長度為11的指標陣列,把以下人名加入:
   "Knuckles", "Little Apple", "josh", "dog", "lion",
   "meng", "keanos", "bookie", "sibyllaliu", "rudolph","awei"
   
   使用者輸入要選幾個人後,隨機選出這幾個人並顯示出來
   
   
   
--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles  來自: 140.112.175.128  時間: 2008-08-08 22:24:38
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-08-13 03:40:55
推 Knuckles: 修改一下 第1題兩個矩陣的size改為2*3與3*4 >>140.112.175.128 08-13 03:43
→ Knuckles: 以及第2題隨機矩陣的大小改為10*100 >>140.112.175.128 08-13 03:43
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-08-13 12:34:14
推 Knuckles: 修改了一下第2題的圖 >>140.112.175.128 08-13 12:35
推 awei: 為什麼抽籤沒有我的名字? >>220.129.145.217 08-13 14:16
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-08-13 15:09:15
推 Knuckles: 加上去了  = = >>140.112.175.128 08-13 15:09
推 awei: 謝謝 ^^ >>220.129.145.217 08-13 15:16
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-10-13 04:07:24

參考解答:

1. ans:
	
int x[2][3] = {{1,2,3},{4,5,6}};
	
int y[3][4] = {{10,11,12,13},{14,15,16,17},{18,19,20,21}};
	
int z[2][4] = {0};

	
int i,j,k;
	
for(i=0;i<2;i++){
	
	
for(j=0;j<4;j++){
	
	
	
for(k=0;k<3;k++){
	
	
	
	
z[i][j] += x[i][k]*y[k][j];
	
	
	
}
	
	
	
cout << "
	
"
 << z[i][j] ;
	
	
}
	
	
cout << endl;
	
}
2. ans:
#include <iostream>
#include <ctime>
using namespace std;

int main()
{
	
srand((unsigned int)time(NULL));

	
int i,j,R[10][100];
	
for(i=0;i<10;i++){
	
	
for(j=0;j<100;j++){
	
	
	
R[i][j] = rand()%10;
	
	
}
	
}
	
int hist[10] = {0};
	
for(i=0;i<10;i++){
	
	
for(j=0;j<100;j++){
	
	
	
hist[R[i][j]]++;
	
	
}
	
}
	
cout << "   值  數量
	
0   20  40  60  80  100 120"
 << endl
	
     
<< "   --  ----
	
+---+---+---+---+---+---+---"
 << endl;
	
for(i=0;i<10;i++){
	
	
cout << "    " << i << "  " << hist[i] << "
	
 "
;
	
	
for(j=0;j<hist[i]/5;j++){
	
	
	
cout << "*";
	
	
}
	
	
cout << endl;
	
}

	
system("pause");
	
return 0;
}   
3. ans
	
char x2[7][22];
	
int m,n;
	
for(m=0;m<7;m++){
	
	
for(n=0;n<22;n++){
	
	
	
x2[m][n] = x1[m*22+n];
	
	
	
cout << x2[m][n];
	
	
}
	
	
cout << endl;
	
}     
結果:

  .★.       ★ * ★  
★     *★ .'       ★
*                    *
★                 ★'
‘*.             .*  
   ‘★       ★'    
      ‘* ★ ’      

4. ans.
#include <iostream>
#include <ctime>
using namespace std;

int main()
{
	
srand((unsigned int)time(NULL));
	
char *list[10] = {"Knuckles", "Little Apple", "josh", "dog", "lion", 
	
                 
"meng", "keanos", "bookie", "sibyllaliu", "rudolph"};
	
bool is_select[10] = {false};
	

	
int N;
	
cout << "請輸入要抽出來的人數(1~10):";
	
cin >> N;

	
int i,x;
	
for(i=1;i<=N;i++){
	
	
do{
	
	
	
x = rand()%10;
	
	
}while(is_select[x]);
	
	
is_select[x] = true;
	
	
cout << i << ". " << list[x] << endl;
	
}

	
system("pause");
	
return 0;
}
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-10-19 02:01:52
推 nick:完成了...
	
>>61.230.68.38 01-12 02:42
推 Knuckles:good!
	
>>140.112.175.130 01-12 03:07
推 sakuku:完成too
	
>>61.224.35.208 02-07 14:46
※ 編輯: Knuckles  來自: 140.112.175.130  時間: 2009-05-31 15:24:30
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: abc1231qa  來自: 163.28.174.100  時間: 2010-02-24 11:24:18
※ 看板: Programming 文章推薦值: 1 目前人氣: 0 累積人氣: 780 
分享網址: 複製 已複製
( ̄︶ ̄)b billtwo3 說讚!
1樓 時間: 2010-02-24 11:24:40 (台灣)
  02-24 11:24 TW
科 文章緩慢增加><
iloveyouever 轉錄至看板 my_time_my_heart 時間:2010-08-01 19:46:52
iloveyouever 轉錄至看板 my_time_my_heart 時間:2010-08-01 19:46:55
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇