/***********************************************************************
* kadai116
* ラベリングをするプログラム作成
* (ノーヒント!!)
* (問題は、ソース上に定義してもよいです)
*
* 作成日: 2008年11月21日
* 更新日: 2009年01月31日 pm 11: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 f; /* 繰り返しフラグ */
char r; /* ラベルの退避 */
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");
}
i = 0;
m = 0;
s = '0';
f = 0;
r = '0';
while(i<13){
while(m<18){
if(a[i][m]!='0'){
r = g[i][m];
}
if(a[i][m]!='0' && g[i][m]=='0'){
if(a[i-1][m]!=0 && a[i][m-1]!=0){
if(a[i-1][m] <= a[i][m-1]){
g[i][m] = g[i-1][m];
g[i][m-1] = g[i-1][m];
}
if(g[i][m-1] < a[i-1][m]){
g[i][m] = g[i][m-1];
g[i-1][m] = g[i][m-1];
}
}
if(a[i-1][m]!=0 || a[i][m-1]!=0){
if(a[i-1][m]!=0){
g[i][m] = g[i-1][m];
}
if(a[i][m-1]!=0){
g[i][m] = g[i][m-1];
}
}else{
g[i][m] = ++s;
}
f = 1;
}else{
if(r+1!=s){
s = r+1;
g[i][m] = s;
f = 1;
}else{
f = 0;
}
}
if(f==0){
m += 1;
}else{
m = 0;
}
}
if(f==0){
i += 1;
}else{
i = 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");
}
}
あれ???
おかしぃなぁ。。。 |

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用






前進してますか?! ・・・今一番の励みみのお言葉です(泣)ありがとうございます!!
月夜、課題クリアに向けて絶対頑張ります☆
2009/2/1(日) 午後 0:11