☆C言語☆

[ リスト ]

/***********************************************************************
*  kadai116
* ラベリングをするプログラム作成
* (ノーヒント!!)
* (問題は、ソース上に定義してもよいです)
*
* 作成日:  2009年01月20日
* 更新日:    2009年01月20日 pm 21:30
* 備考 :
************************************************************************/


main( )
{
	char a[13][18+1] = { 	{"000000000000000000"},	/* 0 */
				{"000010101010100000"},	/* 1 */
				{"000010101010100000"},	/* 2 */
				{"000010101010100000"},	/* 3 */
				{"000111111111110000"},	/* 4 */
				{"011111111111111110"},	/* 5 */
				{"000111111111110000"},	/* 6 */
				{"000010101010100000"},	/* 7 */
				{"000010101010100000"},	/* 8 */
				{"000010101010100000"},	/* 9 */
				{"011000000000001010"},	/* 10 */
				{"011000000000111110"},	/* 11 */
				{"000000000000000000"}	};	/* 12 */
	int i;	/* 縦 */
	int m;	/* 横 */
	char s;	/* ラベル */
	int b;	/* マーク縦 */
	int c;	/* マーク横 */
	int e;	/*          */
	int f;	/*          */
	
	
	char g[13][18+1] = { 	{"000000000000000000"},	/* 0 */
				{"000000000000000000"},	/* 1 */
				{"000000000000000000"},	/* 2 */
				{"000000000000000000"},	/* 3 */
				{"000000000000000000"},	/* 4 */
				{"000000000000000000"},	/* 5 */
				{"000000000000000000"},	/* 6 */
				{"000000000000000000"},	/* 7 */
				{"000000000000000000"},	/* 8 */
				{"000000000000000000"},	/* 9 */
				{"000000000000000000"},	/* 10 */
				{"000000000000000000"},	/* 11 */
				{"000000000000000000"}	};	/* 12 */

	

	for(i=0;i<13;i++){
		for(m=0;m<18;m++){
			if(a[i][m]=='0'){
				printf(" ");
			}else{
				printf("%c",a[i][m]);
			}
		}
		printf("\n");
	}

	s = '1';
	for(i=0;i<13;i++){
		for(m=0;m<18;m++){
			if(a[i][m]!='0'){
				b = i;
				c = m;
				if(a[b][c]!='0'){
					g[b][c] = s;
					while(a[--b][c]!='0'){
						g[b+1][c] = g[b][c];
						e = b;
						f = c;
						while(a[e][--f]!='0'){
							g[e][f+1] = g[e][f];
						}
					}
					b = i;
					c = m;
					while(a[b][--c]!='0'){
						g[b][c+1] = g[b][c];
						e = b;
						f = c;
						while(a[--e][f]!='0'){
							g[e+1][f] = g[e][f];
						}
					}
				}
				s++;
			}else{
				g[i][m] = '0';
			}
		}
	}


	for(i=0;i<13;i++){
		for(m=0;m<18;m++){
			if(g[i][m]=='0'){
				printf(" ");
			}else{
				printf("%c",g[i][m]);
			}
		}
		printf("\n");
	}


}


イメージ 1




全然NGだっ

どうしてこんなラベリングになったんだろう??

トレース開始です(++)

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
11/30までキャンペーン実施中!
話題の新商品が今だけもらえる!
ジュレームアミノ シュープリーム
プレゼントキャンペーン

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事