質問編集履歴

1

define A 10と変更しインデントを揃えました

2020/06/22 02:00

投稿

MCV
MCV

スコア6

test CHANGED
File without changes
test CHANGED
@@ -6,175 +6,171 @@
6
6
 
7
7
  #include <string.h>
8
8
 
9
- #define aaa 5
9
+ #define A 10
10
10
 
11
11
  int main (void){
12
12
 
13
- double ring_buff[aaa];
13
+ double ring_buff[A];
14
14
 
15
- int head=0; /* データの先頭を表す変数 */
15
+ int head=0; /* データの先頭を表す変数 */
16
16
 
17
- int tail=0; /* データの最後を表す変数 */
17
+ int tail=0; /* データの最後を表す変数 */
18
18
 
19
- int counter=0;
19
+ int counter=0;
20
20
 
21
- int i=0,j;
21
+ int i=0,j;
22
22
 
23
- char s[5];
23
+ char s[5];
24
24
 
25
25
 
26
26
 
27
27
 
28
28
 
29
- while(1){
29
+ while(1){
30
30
 
31
- printf("操作を選択してください(enq/deq/end):");
31
+ printf("操作を選択してください(enq/deq/end):");
32
32
 
33
- scanf("%s",s);
33
+ scanf("%s",s);
34
34
 
35
- //enq
35
+ //enq
36
36
 
37
- if(strcmp(s,"enq")==0){
37
+ if(strcmp(s,"enq")==0){
38
38
 
39
- if(counter==aaa-1){
39
+ if(counter==A-1){
40
40
 
41
- printf("enqできません,deqするか\n");
41
+ printf("enqできません,deqするか\n");
42
42
 
43
- }
43
+ }
44
44
 
45
- else {
45
+ else {
46
46
 
47
- printf("追加する値を入力してください==>");
47
+ printf("追加する値を入力してください==>");
48
48
 
49
- if(tail==aaa){
49
+ if(tail==A){
50
50
 
51
- tail=0;
51
+ tail=0;
52
52
 
53
- }
53
+ }
54
54
 
55
- scanf("%lf",&ring_buff[tail]);
55
+ scanf("%lf",&ring_buff[tail]);
56
56
 
57
- printf("tail=%d\n",tail);
57
+ printf("tail=%d\n",tail);
58
58
 
59
- tail++;
59
+ tail++;
60
-
61
-
62
-
63
- counter++;
64
-
65
- }
66
60
 
67
61
 
68
62
 
69
- }//end enq
63
+ counter++;
70
64
 
71
- //deq
65
+ }
72
-
73
- else if(strcmp(s,"deq")==0){
74
-
75
- if(counter!=0){
76
66
 
77
67
 
78
68
 
79
- printf("%2.0fはキューから削除されました\n",ring_buff[head]);
69
+ }
80
70
 
81
- printf("head=%d\n",head );
71
+ //deq
82
72
 
83
- head++;
73
+ else if(strcmp(s,"deq")==0){
84
74
 
85
- if(head==aaa-1){
75
+ if(counter!=0){
86
-
87
- head=0;
88
-
89
- }
90
76
 
91
77
 
92
78
 
93
- }
79
+ printf("%2.0fはキューから削除されました\n",ring_buff[head]);
94
80
 
95
- else{
81
+ printf("head=%d\n",head );
96
82
 
83
+ head++;
84
+
97
- printf("deqできません.\nプログラムを終了します");
85
+ if(head==A-1){
86
+
87
+ head=0;
88
+
89
+ }
98
90
 
99
91
 
100
92
 
101
- break;
93
+ }
102
94
 
103
- }
95
+ else{
96
+
97
+ printf("deqできません.\nプログラムを終了します");
104
98
 
105
99
 
106
100
 
107
- counter--;
101
+ break;
108
102
 
109
- }//end deq
110
-
111
- //end
112
-
113
- else if(strcmp(s,"end")==0){
114
-
115
- printf("プログラムを終了します\n");
116
-
117
- break;
103
+ }
118
-
119
- }//end end
120
104
 
121
105
 
122
106
 
123
- //中身表示
107
+ counter--;
124
108
 
125
- if(head<tail){
109
+ }
126
110
 
127
- printf("aa\n");**ボールドテキスト**
111
+ //end
128
112
 
129
- for(i=0;i<tail-head;i++){
113
+ else if(strcmp(s,"end")==0){
130
114
 
131
- printf("->%2.0f",ring_buff[head+i]);
115
+ printf("プログラムを終了します\n");
132
116
 
133
- }
117
+ break;
134
118
 
135
- printf("\n");
136
-
137
- }//end if
119
+ }//end end
138
120
 
139
121
 
140
122
 
141
- else if(head>tail){
123
+ //中身表示
142
124
 
143
- printf("bb\n");
125
+ if(head<tail){
144
126
 
145
- for(i=head;i<aaa-1;i++){
127
+ for(i=0;i<tail-head;i++){
146
128
 
147
- printf("->cc%2.0f",ring_buff[i]);
129
+ printf("->%2.0f",ring_buff[head+i]);
148
130
 
149
- }
131
+ }
132
+
133
+ printf("\n");
134
+
135
+ }
150
136
 
151
137
 
152
138
 
153
- for(i=0;i<tail;i++){
139
+ else if(head>tail){
154
140
 
155
- printf("->dd%2.0f",ring_buff[i]);
141
+ for(i=head;i<A-1;i++){
156
142
 
157
- }
143
+ printf("->%2.0f",ring_buff[i]);
158
144
 
159
- printf("\n");
160
-
161
- }//end else if
145
+ }
162
146
 
163
147
 
164
148
 
165
- else if(counter==0){
149
+ for(i=0;i<tail;i++){
166
150
 
167
- printf("データは空です\n");
151
+ printf("->%2.0f",ring_buff[i]);
168
152
 
169
- }
153
+ }
170
154
 
155
+ printf("\n");
156
+
157
+ }
158
+
159
+
160
+
161
+ else if(counter==0){
162
+
163
+ printf("データは空です\n");
164
+
165
+ }
166
+
171
- printf("counter=%d\n",counter );
167
+ printf("counter=%d\n",counter );
172
168
 
173
169
 
174
170
 
175
171
 
176
172
 
177
- }//end while
173
+ }
178
174
 
179
175
 
180
176
 
@@ -193,3 +189,5 @@
193
189
  またenqを6回(10,11,..,15)
194
190
 
195
191
  最後にdeqを6回したとき、理想は(13,14,15)と出るようにしたいのですが
192
+
193
+ 9をdeqした後もう一度deqをすると10がdeqされず11がdeqされます