小町算
#include<stdio.h>
#define KETA 9
#define SIN_SU 3
#define GOOD 100
int next(int symbol[]);
void int_set(int symbol[]);
void myprint(int symbol[]);
int check(int symbol[]);
main()
{
int symbol[KETA];
int_set(symbol);
do{
if(check(symbol))
myprint(symbol);
}while(next(symbol));
}
int next(int symbol[])
{
int i=KETA;
do {
if(++symbol[i]<SIN_SU) return symbol;
symbol[i]=0;
}while(i--);
return 0;
}
void int_set(int symbol[])
{
int i;
symbol[0]=1;
for(i=1;i<KETA;i++) symbol[i]=0;
}
void myprint(int symbol[])
{
int i;
for(i=0;i<KETA;i++) {
if(symbol[0]==1) ;
else if(symbol[i]==1) printf("+");
else if(symbol[i]==2) printf("-");
printf("%d",i+1);
}
}
int cheak(int symbol[])
{
int num=0;
int result=0;
int i;
for(i=0;i<KETA;i++) {
if(symbol[i]==0) num=10*num+(i+1);
else{
if(symbol[i]==2) {
result+=-1*num;
num=i+1;
}
else {
result+=symbol[i]*num;
num=i+1;
}
}
}
if(result==GOOD) return 1;
else return 0;
}
このプログラムの関数nextのところのreturn symbolが
思うとおりに動きません。どなたか教えていただけないでしょうか?
お礼
ファイアーボーイズは一昔前の話で、火消し屋小町が新しい話ってわけですね。 今では女性も火の中に入っていけるとは!!! きっと女性の方で消防士になりたい人にとっては嬉しいことなんでしょうね(^-^) 胸のつっかえが取れてスッキリしました。 本当にどうもありがとうございました♪