質問編集履歴

2

コードを削除

2018/06/11 03:41

投稿

carlton
carlton

スコア13

test CHANGED
File without changes
test CHANGED
@@ -28,162 +28,6 @@
28
28
 
29
29
  以下コードになります
30
30
 
31
- #include <stdio.h>
32
31
 
33
32
 
34
-
35
- int main()
36
-
37
- {
38
-
39
- /*行き先のデータ、最後はNULLで終了を確認*/
40
-
41
- int Waiter[20+1] = {19,4,11,15,2,4,7,3,7,11,7,19,19,12,11,15,18,14,18,4,NULL };
42
-
43
-
44
-
45
- int Loop = 0; /*Loopチェック*/
46
-
47
- int MCount = 0; /*最上階判断*/
48
-
49
- int ICount = 0; /*入力カウント*/
50
-
51
- int FCount = 0; /*データ入力変数*/
52
-
53
- int Passenger = 0; /*乗員*/
54
-
55
- int Time = 0; /*累積時間*/
56
-
57
- int Target[20 + 1] = { 0 }; /*目的階*/
58
-
59
- int Remainder; /*乗員余り*/
60
-
61
- int MCheck = 0; /*最大チェック*/
62
-
63
- int MFloor = 0; /*行きたい最上階*/
64
-
65
- int NFloor = 0; /*現在の階*/
66
-
67
- int BFloor = 0; /*前に停止した階*/
68
-
69
-
70
-
71
- while (1) {
33
+ *コードを削除しました*
72
-
73
- /*NULLならループを抜ける*/
74
-
75
- if (Target[Waiter[FCount]] == NULL) {
76
-
77
- break;
78
-
79
- }
80
-
81
-
82
-
83
- /*乗客を5人で割りその数を求める*/
84
-
85
- MCount = (21 - 1) / 5;
86
-
87
- /*乗客を5人で割りその余りを求める*/
88
-
89
- Remainder = (21 - 1) % 5;
90
-
91
- /*乗員の乗車時間及び乗車人数を記録*/
92
-
93
- if (MCount > 0) {
94
-
95
- Time += 5 * 10;
96
-
97
- Passenger = 5;
98
-
99
- }
100
-
101
- else {
102
-
103
- Time += Remainder * 10;
104
-
105
- Passenger = Remainder;
106
-
107
- }
108
-
109
-
110
-
111
-
112
-
113
- /*目的階に何人降りるか配列を使って記録*/
114
-
115
- for (ICount = 0; ICount <Passenger; ) {
116
-
117
- Target[Waiter[ICount]]++;
118
-
119
- ICount++;
120
-
121
- }
122
-
123
- /*最上階を判定、記録*/
124
-
125
- for (MCheck = 20 + 1; Target[MCheck] != 0; MCheck--) {
126
-
127
- }
128
-
129
-
130
-
131
-
132
-
133
- MFloor = MCheck-1;
134
-
135
-
136
-
137
- /**/
138
-
139
- NFloor = 1;
140
-
141
- BFloor = NFloor;
142
-
143
- Time += 5;
144
-
145
-
146
-
147
- for (NFloor += 1; NFloor >= MFloor; NFloor++) {
148
-
149
-
150
-
151
- if (Loop = 0) {
152
-
153
-
154
-
155
- NFloor = NFloor - 2;
156
-
157
- if (Target[NFloor] != 0) {
158
-
159
- Time += Target[NFloor] * 10;
160
-
161
- Time += (NFloor - BFloor) * 5;
162
-
163
- BFloor = NFloor;
164
-
165
-
166
-
167
- }
168
-
169
- }
170
-
171
- }
172
-
173
-
174
-
175
- Time += MFloor * 5;
176
-
177
- Loop++;
178
-
179
- }
180
-
181
- printf("稼働時間は%d秒です\n", Time);
182
-
183
-
184
-
185
- return 0;
186
-
187
-
188
-
189
- }

1

コード追加しました

2018/06/11 03:40

投稿

carlton
carlton

スコア13

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,169 @@
21
21
 
22
22
 
23
23
  0x720143D4 (tmmon.dll) で例外がスローされました (Project1.exe 内): 0xC0000005: 場所 0x002996A8 の読み取り中にアクセス違反が発生しました が発生しました
24
+
25
+
26
+
27
+ **追記**
28
+
29
+ 以下コードになります
30
+
31
+ #include <stdio.h>
32
+
33
+
34
+
35
+ int main()
36
+
37
+ {
38
+
39
+ /*行き先のデータ、最後はNULLで終了を確認*/
40
+
41
+ int Waiter[20+1] = {19,4,11,15,2,4,7,3,7,11,7,19,19,12,11,15,18,14,18,4,NULL };
42
+
43
+
44
+
45
+ int Loop = 0; /*Loopチェック*/
46
+
47
+ int MCount = 0; /*最上階判断*/
48
+
49
+ int ICount = 0; /*入力カウント*/
50
+
51
+ int FCount = 0; /*データ入力変数*/
52
+
53
+ int Passenger = 0; /*乗員*/
54
+
55
+ int Time = 0; /*累積時間*/
56
+
57
+ int Target[20 + 1] = { 0 }; /*目的階*/
58
+
59
+ int Remainder; /*乗員余り*/
60
+
61
+ int MCheck = 0; /*最大チェック*/
62
+
63
+ int MFloor = 0; /*行きたい最上階*/
64
+
65
+ int NFloor = 0; /*現在の階*/
66
+
67
+ int BFloor = 0; /*前に停止した階*/
68
+
69
+
70
+
71
+ while (1) {
72
+
73
+ /*NULLならループを抜ける*/
74
+
75
+ if (Target[Waiter[FCount]] == NULL) {
76
+
77
+ break;
78
+
79
+ }
80
+
81
+
82
+
83
+ /*乗客を5人で割りその数を求める*/
84
+
85
+ MCount = (21 - 1) / 5;
86
+
87
+ /*乗客を5人で割りその余りを求める*/
88
+
89
+ Remainder = (21 - 1) % 5;
90
+
91
+ /*乗員の乗車時間及び乗車人数を記録*/
92
+
93
+ if (MCount > 0) {
94
+
95
+ Time += 5 * 10;
96
+
97
+ Passenger = 5;
98
+
99
+ }
100
+
101
+ else {
102
+
103
+ Time += Remainder * 10;
104
+
105
+ Passenger = Remainder;
106
+
107
+ }
108
+
109
+
110
+
111
+
112
+
113
+ /*目的階に何人降りるか配列を使って記録*/
114
+
115
+ for (ICount = 0; ICount <Passenger; ) {
116
+
117
+ Target[Waiter[ICount]]++;
118
+
119
+ ICount++;
120
+
121
+ }
122
+
123
+ /*最上階を判定、記録*/
124
+
125
+ for (MCheck = 20 + 1; Target[MCheck] != 0; MCheck--) {
126
+
127
+ }
128
+
129
+
130
+
131
+
132
+
133
+ MFloor = MCheck-1;
134
+
135
+
136
+
137
+ /**/
138
+
139
+ NFloor = 1;
140
+
141
+ BFloor = NFloor;
142
+
143
+ Time += 5;
144
+
145
+
146
+
147
+ for (NFloor += 1; NFloor >= MFloor; NFloor++) {
148
+
149
+
150
+
151
+ if (Loop = 0) {
152
+
153
+
154
+
155
+ NFloor = NFloor - 2;
156
+
157
+ if (Target[NFloor] != 0) {
158
+
159
+ Time += Target[NFloor] * 10;
160
+
161
+ Time += (NFloor - BFloor) * 5;
162
+
163
+ BFloor = NFloor;
164
+
165
+
166
+
167
+ }
168
+
169
+ }
170
+
171
+ }
172
+
173
+
174
+
175
+ Time += MFloor * 5;
176
+
177
+ Loop++;
178
+
179
+ }
180
+
181
+ printf("稼働時間は%d秒です\n", Time);
182
+
183
+
184
+
185
+ return 0;
186
+
187
+
188
+
189
+ }