teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正版コードを記述

2020/07/20 04:14

投稿

fana
fana

スコア12227

answer CHANGED
@@ -39,4 +39,35 @@
39
39
  std::cin.ignore();
40
40
  return 0;
41
41
  }
42
+ ```
43
+
44
+ ---
45
+
46
+ ↑だと間違っていた.修正版:
47
+ ```
48
+ int Judge( const char *Str )
49
+ {
50
+ int L = strlen( Str );
51
+ int N = 0;
52
+ for( int i=L-1; i>=0; --i )
53
+ {
54
+ switch( Str[i] )
55
+ {
56
+ case 'x':
57
+ ++N;
58
+ break;
59
+ case 'f':
60
+ if( N<1 )return 0;
61
+ break;
62
+ case 'g':
63
+ if( N<2 )return 0;
64
+ --N;
65
+ break;
66
+ default:
67
+ return 0;
68
+ break;
69
+ }
70
+ }
71
+ return ( (N==1) ? 1 : 0 );
72
+ }
42
73
  ```

3

まちがった…

2020/07/20 04:14

投稿

fana
fana

スコア12227

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  if( N==0 )return 0;
16
16
  break;
17
17
  case 'g':
18
- if( N==2 ){ N=1; return 0; }
18
+ if( N==2 ){ N=1; break; }
19
19
  return 0;
20
20
  default: return 0;
21
21
  }

2

修正ミスったのを修正

2020/07/20 04:04

投稿

fana
fana

スコア12227

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  if( N==0 )return 0;
16
16
  break;
17
17
  case 'g':
18
- if( N==2 ){ N=1; 0; }
18
+ if( N==2 ){ N=1; return 0; }
19
19
  return 0;
20
20
  default: return 0;
21
21
  }

1

falseとか書いてたので修正

2020/07/20 04:03

投稿

fana
fana

スコア12227

answer CHANGED
@@ -12,15 +12,15 @@
12
12
  case 'x':
13
13
  ++N; break;
14
14
  case 'f':
15
- if( N==0 )return false;
15
+ if( N==0 )return 0;
16
16
  break;
17
17
  case 'g':
18
- if( N==2 ){ N=1; break; }
18
+ if( N==2 ){ N=1; 0; }
19
- return false;
19
+ return 0;
20
- default: return false;
20
+ default: return 0;
21
21
  }
22
22
  }
23
- return (N==1);
23
+ return ( (N==1) ? 1 : 0 );
24
24
  }
25
25
 
26
26
  void JudgeAndShow( const char *Str )