質問編集履歴

2

修正

2021/03/07 08:12

投稿

LiLiPa
LiLiPa

スコア1

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,13 @@
10
10
 
11
11
 
12
12
 
13
- 以下のソースコードでWAしてしまいます。このコードだとコンパイルエラーが表示されが、ACするテストケースもありま他のユーザーのコードで、同様のアルゴリズムで同じコンパイルエラーが出ているものがあったのですが,全てACしているようです。
13
+ 以下のソースコードでWAしてしまいます。何度も書き換えしたが、どうしても3つのケースのみ通りません
14
14
 
15
- テストケースのうち3つだけ通りません。コンパイルエラーが原因ではなさそうです。
15
+ 原因を教えていただけません
16
16
 
17
17
 
18
18
 
19
- 追記;.length → .sizeに変えたところコンパイルエラーはなくなました、同様のテストケースがWAします。
19
+ 追記;Warningの件、ご指摘ありがとうございます。
20
20
 
21
21
 
22
22
 
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- if (S.size() < T.size()) { //S<Tのときはunrestorbable
49
+ if (S.size() < T.size()) {
50
50
 
51
51
  cout << "UNRESTORABLE" << endl;
52
52
 
@@ -56,11 +56,11 @@
56
56
 
57
57
 
58
58
 
59
- for(int i=0; i < S.size()-T.size()+1; i++){
59
+ for(long unsigned int i=0; i < S.size()-T.size()+1; i++){
60
60
 
61
61
  bool flag_one = true;
62
62
 
63
- for(int k=0; k<T.size(); k++){ //末尾からTになりうる文字列を探す。
63
+ for(long unsigned int k=0; k<T.size(); k++){
64
64
 
65
65
  if( S.at(i+k) == T.at(k) || S.at(i+k) == '?'){
66
66
 
@@ -96,13 +96,13 @@
96
96
 
97
97
 
98
98
 
99
- for(int i=0; i<T.size(); i++){//該当の?をT文字列にする。
99
+ for(long unsigned int i=0; i<T.size(); i++){
100
100
 
101
101
  if(S.at(i+change_num) == '?') S.at(i+change_num) = T.at(i);
102
102
 
103
103
  }
104
104
 
105
- for(int i=0; i<S.size(); i++){//残りの?は全てaに置き換える。
105
+ for(long unsigned int i=0; i<S.size(); i++){
106
106
 
107
107
  if(S.at(i) == '?') S.at(i) = 'a';
108
108
 
@@ -121,35 +121,3 @@
121
121
 
122
122
 
123
123
  ```
124
-
125
- ###コンパイルエラー
126
-
127
- ```C++
128
-
129
- ./Main.cpp: In function ‘int main()’:
130
-
131
- ./Main.cpp:11:26: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
132
-
133
- 11 | for(long long i=0; i < S.length()-T.length()+1; i++){
134
-
135
- | ~~^~~~~~~~~~~~~~~~~~~~~~~~~
136
-
137
- ./Main.cpp:13:29: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
138
-
139
- 13 | for(long long k=0; k<T.length(); k++){
140
-
141
- | ~^~~~~~~~~~~
142
-
143
- ./Main.cpp:31:25: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
144
-
145
- 31 | for(long long i=0; i<T.length(); i++){
146
-
147
- | ~^~~~~~~~~~~
148
-
149
- ./Main.cpp:34:25: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
150
-
151
- 34 | for(long long i=0; i<S.length(); i++){
152
-
153
- | ~^~~~~~~~~~~
154
-
155
- ```

1

修正

2021/03/07 08:12

投稿

LiLiPa
LiLiPa

スコア1

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,10 @@
13
13
  以下のソースコードでWAしてしまいます。このコードだとコンパイルエラーが表示されますが、ACするテストケースもあります。他のユーザーのコードで、同様のアルゴリズムで同じコンパイルエラーが出ているものがあったのですが,全てACしているようです。
14
14
 
15
15
  テストケースのうち3つだけ通りません。コンパイルエラーが原因ではなさそうです。
16
+
17
+
18
+
19
+ 追記;.length → .sizeに変えたところコンパイルエラーはなくなりましたが、同様のテストケースがWAします。
16
20
 
17
21
 
18
22