Powered by SmartDoc

ソフトウェア概論A/B (2020/12/04)
Ver. 1.0

2020年12月4日
栗野 俊一
kurino@math.cst.nihon-u.ac.jp
http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino/2020/soft/soft.html
ソフトウェア概論 A/B2020年12月4日 の資料

目次

講義資料

当日の OHP 資料

講議中に作成したプログラム

本日の課題

課題プログラム内の「/*名前:ここ*/」の部分を書き換え「/*この部分を完成させなさい*/」の部分にプログラムを追加して、プログラムを完成させます。

課題 20201204-01 : 三角形の領域の配列

Download : 20201204-01.c

20201204-01.c
/*
 * 20201204-01-QQQQ.c
 *	三角形の形をした二次元配列
 *
 *		a[0][0]
 *		a[1][0] a[1][1]
 *		a[2][0] a[2][1] a[2][2]
 *			..
 *		a[9][0] a[9][1] a[9][2] .. a[9][9]
 *
 */

#include <stdio.h>

/*
 *
 */

#define	ARRAY_SIZE	10
#define	BASE_SIZE	((ARRAY_SIZE+1)*ARRAY_SIZE/2)

/*
 * main
 */

int main ( void ) {
	int b[BASE_SIZE];		/* 三角形の領域 */
	int *a[ARRAY_SIZE];		/* 三角形の配列 */
	int i;
	int j;

	/* 領域の初期化 */

	for ( i = 0; i < BASE_SIZE; i++ ) {
		b[i] = 1000 + i;
	}

	/* 三角形の領域の構築 */

	a[0] = &b[0];			/* 先頭 ( a[0] = b の方が感じが出ている ) */

	for ( i = 1; i < ARRAY_SIZE; i++ ) {
			/* 三角形の配列を作る */

	/*
	**	 この部分を完成させなさい
	*/

	}

	/* 三角形の領域の参照 */

	for ( i = 0; i < ARRAY_SIZE; i++ ) {
		printf ( "%d : ", i );
		for ( j = 0; j < i + 1; j++ ) {
			printf ( "%d ", a[i][j] );
		}
		printf ( "\n" );
	}

	return 0;
}
20201204-01.c の実行結果
$ ./20201204-01-QQQQ.exe
0 : 1000 
1 : 1001 1002 
2 : 1003 1004 1005 
3 : 1006 1007 1008 1009 
4 : 1010 1011 1012 1013 1014 
5 : 1015 1016 1017 1018 1019 1020 
6 : 1021 1022 1023 1024 1025 1026 1027 
7 : 1028 1029 1030 1031 1032 1033 1034 1035 
8 : 1036 1037 1038 1039 1040 1041 1042 1043 1044 
9 : 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 
$