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

回答編集履歴

10

最後の修正でロジック部分が元に戻ってしまっていたので修正。max = iが1回だけの記述になるよう修正

2019/11/24 03:10

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -18,13 +18,13 @@
18
18
  while(t != NULL) {
19
19
  int i = atoi(t);
20
20
  if(first == 1){
21
- max = i;
22
21
  first = 0;
23
22
  }else if(i < max){
24
23
  increasing = 0;
25
24
  break;
26
25
  }
26
+ max = i;
27
- ptr = strtok(NULL, ",");
27
+ ptr = strtok(NULL, " ");
28
28
  }
29
29
 
30
30
  if(increasing == 1){

9

Cだとコンパイラが1行コメントに非対応かもしれないので修正

2019/11/24 03:09

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  int first = 1;
7
7
  int max;
8
8
 
9
- char buffer[30001]; // 30000文字以上のファイルが無い前提で書いてます
9
+ char buffer[30001]; /* 30000文字以上のファイルが無い前提で書いてます */
10
10
  char * t = NULL;
11
11
 
12
12
  if(NULL == fgets(buffer, sizeof(buffer) - 1, f)){

8

改行文字の心配は余計だと思ったので削除

2019/11/24 03:03

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -16,15 +16,13 @@
16
16
 
17
17
  t = strtok(buffer, " ");
18
18
  while(t != NULL) {
19
- if(t[0] == '\n'){
20
- int i = atoi(t);
19
+ int i = atoi(t);
21
- if(first == 1){
20
+ if(first == 1){
22
- max = i;
21
+ max = i;
23
- first = 0;
22
+ first = 0;
24
- }else if(i < max){
23
+ }else if(i < max){
25
- increasing = 0;
24
+ increasing = 0;
26
- break;
25
+ break;
27
- }
28
26
  }
29
27
  ptr = strtok(NULL, ",");
30
28
  }

7

改行文字が入ってしまっていても大丈夫なように修正(多分余計)

2019/11/24 03:01

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  t = strtok(buffer, " ");
18
18
  while(t != NULL) {
19
- if(t[0] == "\n"){
19
+ if(t[0] == '\n'){
20
20
  int i = atoi(t);
21
21
  if(first == 1){
22
22
  max = i;

6

ファイル名の出力が抜けていたので直しました

2019/11/24 03:00

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -16,23 +16,23 @@
16
16
 
17
17
  t = strtok(buffer, " ");
18
18
  while(t != NULL) {
19
+ if(t[0] == "\n"){
19
- int i = atoi(t);
20
+ int i = atoi(t);
20
- if(first == 1){
21
+ if(first == 1){
21
- max = i;
22
+ max = i;
22
- first = 0;
23
+ first = 0;
23
- }else if(i < max){
24
+ }else if(i < max){
24
- increasing = 0;
25
+ increasing = 0;
25
- break;
26
+ break;
26
- }else{
27
+ }
27
- max = i;
28
28
  }
29
- t = strtok(NULL, " ");
29
+ ptr = strtok(NULL, ",");
30
30
  }
31
31
 
32
32
  if(increasing == 1){
33
- printf("increasing\n");
33
+ printf("%s: increasing\n", argv[1]);
34
34
  }else{
35
- printf("not increasing\n");
35
+ printf("%s: not increasing\n", argv[1]);
36
36
  }
37
37
  }
38
38
  ```

5

バグ修正2

2019/11/24 02:56

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -23,6 +23,8 @@
23
23
  }else if(i < max){
24
24
  increasing = 0;
25
25
  break;
26
+ }else{
27
+ max = i;
26
28
  }
27
29
  t = strtok(NULL, " ");
28
30
  }

4

バグ修正

2019/11/24 02:45

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  increasing = 0;
25
25
  break;
26
26
  }
27
- t = strtok(NULL, ",");
27
+ t = strtok(NULL, " ");
28
28
  }
29
29
 
30
30
  if(increasing == 1){

3

書き間違えの修正(2)

2019/11/24 02:42

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -30,7 +30,7 @@
30
30
  if(increasing == 1){
31
31
  printf("increasing\n");
32
32
  }else{
33
- puts("not increasing\n");
33
+ printf("not increasing\n");
34
34
  }
35
35
  }
36
36
  ```

2

書き間違いを修正

2019/11/24 02:38

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  increasing = 0;
25
25
  break;
26
26
  }
27
- ptr = strtok(NULL, ",");
27
+ t = strtok(NULL, ",");
28
28
  }
29
29
 
30
30
  if(increasing == 1){

1

インデントを直しました

2019/11/24 02:37

投稿

mariuskoiwa
mariuskoiwa

スコア27

answer CHANGED
@@ -2,36 +2,35 @@
2
2
 
3
3
  ```ここに言語を入力
4
4
  {
5
- int increasing = 1;
5
+ int increasing = 1;
6
- int first = 1;
6
+ int first = 1;
7
- int max;
7
+ int max;
8
8
 
9
- char buffer[30001]; // 30000文字以上のファイルが無い前提で書いてます
9
+ char buffer[30001]; // 30000文字以上のファイルが無い前提で書いてます
10
- char * t = NULL;
10
+ char * t = NULL;
11
-
12
- if(NULL == fgets(buffer, sizeof(buffer) - 1, f)){
13
- printf("%s: can't reed.\n",argv[1]); exit(-1);
14
- }
15
- buffer[sizeof(buffer) -1] = '¥0';
16
-
17
- t = strtok(buffer, " ");
18
- while(t != NULL) {
19
- int i = atoi(t);
20
- if(first == 1){
21
- max = i;
22
- first = 0;
23
- }else if(i < max){
24
- increasing = 0;
25
- break;
26
- }
27
- ptr = strtok(NULL, ",");
28
- }
29
11
 
12
+ if(NULL == fgets(buffer, sizeof(buffer) - 1, f)){
13
+ printf("%s: can't reed.\n",argv[1]); exit(-1);
14
+ }
15
+ buffer[sizeof(buffer) -1] = '¥0';
16
+
17
+ t = strtok(buffer, " ");
18
+ while(t != NULL) {
19
+ int i = atoi(t);
20
+ if(first == 1){
21
+ max = i;
22
+ first = 0;
23
+ }else if(i < max){
24
+ increasing = 0;
25
+ break;
26
+ }
27
+ ptr = strtok(NULL, ",");
28
+ }
29
+
30
- if(increasing == 1){
30
+ if(increasing == 1){
31
- printf("increasing\n");
31
+ printf("increasing\n");
32
- }else{
32
+ }else{
33
- puts("not increasing\n");
33
+ puts("not increasing\n");
34
- }
34
+ }
35
35
  }
36
-
37
36
  ```