Powered by SmartDoc

ソフトウェア概論A/B (2014/10/17)
Ver. 1.0

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

目次

講義資料

当日の OHP 資料

講義で利用するサンプルプログラム

サンプルファイル

Download : sample-001.c ( SJIS 版 )

sample-001.c
/*
 * 2014/10/17 sample-001.c
 */

/*
 *  多次元配列
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -o BASENAME.exe sample-001.c
 *		実行
 *			BASENAME
 */

#include <stdio.h>

/*
 *	main
 *
 */

int main( int argc, char *argv[] )
{
	int a[3][4];	/* 二次元配列の宣言 3 x 4 個の変数を宣言 */
					/* int a00, a01, .., a03, a10, .., a13, .., a23; と同様 */
	int i;
	int j;

	a[0][0] = 0;	/* 添字は、二つ必要 ( 二次なので.. ) で、0 から始まる */
	a[2][3] = 6;	/* 添字の大きさは、配列の大きさ - 1 まで */

	/* 0 〜 2 と 0 〜 3 のかけ算表をつくってみる */
	for ( i = 0; i < 3; i++ )	{
		for ( j = 0; j < 4; j++ ) {
			a[i][j] = i * j;
		}
	}

	printf ( "2 * 1 = %d\n", a[2][1] );	/* 2 と表示される筈 */

	if ( a[1][2] == a[2][1] ) {	/* 1 * 2 = 2 * 1 か ? */
		printf ( "1 * 2 = 2 * 1 が成立\n" );
	} else {
		printf ( "1 * 2 = 2 * 1 が成立しない.. 何か変だ..\n" );
	}

	/* 0 〜 2 と 0 〜 3 のかけ算表を画面に表示 */

	printf ( " * |" );
	for ( j = 0; j < 4; j++ ) {
		printf ( "%2d", j );
	}
	printf ( "\n" );
	printf ( "---+---------\n" );

	for ( i = 0; i < 3; i++ )	{
		printf ( " %1d |", i );
		for ( j = 0; j < 4; j++ ) {
			printf ( "%2d", a[i][j] );
		}
		printf ( "\n" );
	}

	return 0;
}
sample-001.c の実行結果
C:\usr\c>sample-001
2 * 1 = 2
1 * 2 = 2 * 1 が成立
 * | 0 1 2 3
---+---------
 0 | 0 0 0 0
 1 | 0 1 2 3
 2 | 0 2 4 6
C:\usr\c> 

Download : sample-002.c ( SJIS 版 )

sample-002.c
/*
 * 2014/10/17 sample-002.c
 */

/*
 * 集合の操作は操作の集合
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -o BASENAME.exe sample-002.c
 *		実行
 *			BASENAME
 */

#include <stdio.h>

/*
 *	main
 *
 */

#define	ARRAY_SIZE	5		/* 配列のサイズを 5 とする */

int main( int argc, char *argv[] )
{
	int a[ARRAY_SIZE];	/* ARRAY_SIZE の配列の宣言 */
	int i;

	for ( i = 0; i < ARRAY_SIZE; i++ ) {
		a[i] = 2 * i;		/* 一桁の偶数の表を作る */
	}

	/* 偶数を出力 */
	for ( i = 0; i < ARRAY_SIZE; i++ ) {
		printf ( "%d ", a[i] );
	}
	printf ( "\n" );

	/* 全ての要素に 1 を加えれば奇数の表になる */

	for ( i = 0; i < ARRAY_SIZE; i++ ) {
		a[i] = a[i] + 1;
	}

	/* 奇数を出力 */
	for ( i = 0; i < ARRAY_SIZE; i++ ) {
		printf ( "%d ", a[i] );
	}
	printf ( "\n" );

	return 0;
}
sample-002.c の実行結果
C:\usr\c>sample-002
0 2 4 6 8 
1 3 5 7 9 
C:\usr\c> 

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

本日の課題

本日の課題は、以前出題したのに課題としなかった問題とするので、新規には設けていません。

以前の課題を提出してください。