プログラミング入門 • 小テスト (5分ほど) • 小テストの解答 • 今回の講義内容: 2次元配列 プログラミング入門(第8回) 補講のお知らせ • 12月に補講を以下の様に致します – 12月13日 3限 第9回 – 12月22日 2限 第11回 プログラミング入門(第8回) 来週の水曜日 プログラミング入門 • • • • • • • • • • • • • 1 2 3 4 5 6 7 8 9 10 11 12 13 授業概要 プログラムの作成から実行まで (教科書 1.1~1.6, 2.1) 変数と標準入出力 (教科書 3.1~3.2,2.2,2.4,6.4) 演算子 (教科書 4.1~4.9) 制御文,条件判断と分岐 (教科書 5.1~5.2,5.6~5.7) 繰り返し処理 (教科書 5.3~5.5,5.8) 配列と文字列 (教科書 3.3~3.4) 2次元配列 (教科書 3.3) 関数Ⅰ (教科書 7.1~7.3) 関数Ⅱ (教科書 7.4) 構造体 (教科書 9.1) ファイルの入出力 (教科書 12.1~12.3) プログラミング評価 プログラミング入門(第8回) Program language C • 2 dimension array 今回の学習の目標 •2次元配列とは •1次元配列と2次元配列との違い •2次元配列の使い方について •繰り返しと2次元配列 プログラミング入門(第8回) 1次元配列と2次元配列 1次元配列 [0] [1] 2次元配列 [0] [1] [2] [0] [1] [2] [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] [2] [0] [1] [2] 1次元配列を複数集めたイメージ 行を表す プログラミング入門(第8回) 2次元配列の定義 • 2次元配列の定義 • int data [3][3]; ここは行 を指定 ここは列 を指定 行の数値が 変化する 列の数値が 変化する [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] 3×3の各要素が int 型の 配列を定義している プログラミング入門(第8回) p.195 行列と配列 • 行列と2次元配列 配列の大きさ int data [3][3] 3×3行列 a11 a12 a13 a21 a22 a23 a31 a32 a33 [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] 要素 要素 注意:配列の大きさの宣言の数と要素の最大の値は異なる! プログラミング入門(第8回) 2次元配列 Memory address • 2次元配列 short data [3][3] ; [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] それぞれが short 型の変数 short 型 : 16 bit = 2 byte [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] 2次元配列は連続した領域に作られる プログラミング入門(第8回) 00000 番地 00001 番地 00002 番地 00003 番地 00004 番地 00005 番地 00006 番地 00007 番地 00008 番地 00009 番地 00010 番地 配列要素の指定 • • • • • • data[0][0] data[10][10] data[i][j] data[i+1][j] data[i][j+1] data[i+1][j+1] 配列要素の指定には整数が扱える プログラミング入門(第8回) float や double型の 変数は使えない p.196 配列の初期化 記憶クラス データ型 配列名[要素数][要素数] = { {定数,定数,・・・・・・・,定数}, {定数,定数,・・・・・・・,定数}, ...... {定数,定数,・・・・・・・,定数} } ; int data [3][3] = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} }; プログラミング入門(第8回) 1 次元配列と同 じように考える 配列へのデータの入出力 5x5 の 2 次元配列を宣言. それぞれの配列に n * m を 計算し入れる. 5x5 の配列に入っている値を 画面に表示する. ソースファイル名 prog8a.c [0,0][0,1][0,2][0,3][0,4] [1,0][1,1][1,2][1,3][1,4] [2,0][2,1][2,2][2,3][2,4] [3,0][3,1][3,2][3,3][3,4] [4,0][4,1][4,2][4,3][4,4] プログラミング入門(第8回) 結果 0, 0 -> : 1, 2 -> : 2, 2 -> 2, 3 -> : 0 2 4 6 配列へのデータの入出力(例) 5×5の配列を宣言 int i,j ; 変数名は data int data[5][5] ; 縦方向 for ( i=0 ; i<5 ; i++ ) { for (j=0 ; j<5 ; j++ ) { 横方向 data [i][j] = i*j ; } } for ( i=0; i<5 ; i++) { for (j=0; j<5; j++ ) { printf(“ %d, %d -> %d\n”, i, j, data[i][j] ) ; } } [0,0][0,1][0,2][0,3][0,4] [1,0][1,1][1,2][1,3][1,4] [2,0][2,1][2,2][2,3][2,4] [3,0][3,1][3,2][3,3][3,4] [4,0][4,1][4,2][4,3][4,4] 表示部 プログラミング入門(第8回) 結果 0, 0 -> : 1, 2 -> : 2, 2 -> 2, 3 -> : 0 2 4 6 Program language C • 2 dimension array 今回の学習の目標 •2次元配列とは •1次元配列と2次元配列との違い •2次元配列の使い方について •繰り返しと2次元配列 プログラミング入門(第8回) 課題 • 3×3の2次元配列を用意する • キーボードから任意の実数を9個入力し, 順番に配列にいれる.([0][0]->[0][1]>[0][2]->....) • その入力データから3×3の配列の縦と横 のそれぞれの平均(実数でよい)を求め, 画面に表示する. • 入力データ – 1.1 1.2 1.3 1.4 1.5 ・・・・ • それぞれの確認データ毎に画面に出力し た結果とソースファイルをwebrepに登録す ること プログラム名 prog8b.c 画面出力 prog8b.txt • 期限 来週の水曜日まで プログラミング入門(第8回) [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] それぞれの平均
© Copyright 2024 ExpyDoc