質問編集履歴

5

質問文を変更しました

2018/10/03 10:03

投稿

amareno
amareno

スコア20

test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,29 @@
122
122
 
123
123
  ```
124
124
 
125
+
126
+
127
+ /Users/jane/CLionProjects/pointerArithmetic/cmake-build-debug/pointerArithmetic
128
+
129
+
130
+
131
+ Process finished with exit code 11
132
+
125
- のコードをコンパイルするとアウトプットに何も表示されません
133
+ 上記が私のコードアウトプットです
134
+
135
+ 空白しか表示されません。
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ これら
126
148
 
127
149
  cout << "The average is " << mean << endl;
128
150
 
@@ -134,7 +156,7 @@
134
156
 
135
157
  cout << "The low value is " << min << endl;
136
158
 
137
- これらがアウトプットに表示されないのは何故でしょうか。教えて頂けるとありがたいです。
159
+ がアウトプットに表示されないのは何故でしょうか。教えて頂けるとありがたいです。
138
160
 
139
161
 
140
162
 

4

コードを変更しました。

2018/10/03 10:03

投稿

amareno
amareno

スコア20

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- meanHighLow(num, mean, sizeof(num) / sizeof(num[0]), &max, &min);
51
+ meanHighLow(num, size, mean, max, min);
52
52
 
53
53
 
54
54
 
@@ -122,13 +122,23 @@
122
122
 
123
123
  ```
124
124
 
125
- すいません、こからどうコードを書いてよいのかわかりません。
125
+ コードをコンパイルするとアウトプットに何も表示されません。
126
126
 
127
- main関数内の関数の呼び出しの部分、
127
+ cout << "The average is " << mean << endl;
128
128
 
129
- meanHighLow(num, mean, sizeof(num) / sizeof(num[0]), &max, &min);
130
129
 
130
+
131
+ cout << "The high value is " << max << endl;
132
+
133
+
134
+
135
+ cout << "The low value is " << min << endl;
136
+
131
- 引数の数ど間違えてると思うのですが、何がど違うの少し教えて頂けいでしょうか
137
+ これらがアウトプットに表示されないのは何故しょうか教えて頂けるとありがたいで
138
+
139
+
140
+
141
+
132
142
 
133
143
  ### 試したこと
134
144
 

3

質問文を少し足しました。

2018/10/03 09:21

投稿

amareno
amareno

スコア20

test CHANGED
File without changes
test CHANGED
@@ -124,6 +124,12 @@
124
124
 
125
125
  すいません、ここからどうコードを書いてよいのかわかりません。
126
126
 
127
+ main関数内の関数の呼び出しの部分、
128
+
129
+ meanHighLow(num, mean, sizeof(num) / sizeof(num[0]), &max, &min);
130
+
131
+ 引数の数など間違えていると思うのですが、何がどう違うのか少し教えて頂けないでしょうか。
132
+
127
133
  ### 試したこと
128
134
 
129
135
 

2

コードを書き進めました。

2018/10/03 08:04

投稿

amareno
amareno

スコア20

test CHANGED
File without changes
test CHANGED
@@ -38,21 +38,31 @@
38
38
 
39
39
  const int size = 5;
40
40
 
41
+ int num[size] = {1, 2, 3, 4, 5};
42
+
43
+ double mean = 0;
44
+
41
- int num[size];
45
+ int max = 0;
46
+
47
+ int min = 0;
42
48
 
43
49
 
44
50
 
45
-
46
-
47
- meanHighLow(num, size);
51
+ meanHighLow(num, mean, sizeof(num) / sizeof(num[0]), &max, &min);
48
52
 
49
53
 
50
54
 
51
- for(int i = 0; i < size; i++) {
55
+ cout << "The average is " << mean << endl;
52
56
 
53
- cout << num[i] << endl;
54
57
 
58
+
59
+ cout << "The high value is " << max << endl;
60
+
61
+
62
+
55
- }
63
+ cout << "The low value is " << min << endl;
64
+
65
+
56
66
 
57
67
 
58
68
 
@@ -64,19 +74,11 @@
64
74
 
65
75
  void meanHighLow(int* array, int size, double &average, int &high, int &low) {
66
76
 
67
-
68
-
69
77
  int count = 0, sum = 0;
70
-
71
- array = nullptr;
72
-
73
-
74
78
 
75
79
 
76
80
 
77
81
  int *ptr;
78
-
79
-
80
82
 
81
83
  ptr = array;
82
84
 
@@ -84,11 +86,7 @@
84
86
 
85
87
  for (int i = 0; i < size; i++) {
86
88
 
87
- array[i] = 2 * i;
88
-
89
- //cout << *(array + i) << " ";
90
-
91
- //ptr++;
89
+ ptr++;
92
90
 
93
91
  sum = sum + *(ptr + i);
94
92
 
@@ -96,13 +94,31 @@
96
94
 
97
95
  }
98
96
 
97
+
98
+
99
-
99
+ average = sum / size;
100
100
 
101
101
 
102
102
 
103
+ high = array[0];
104
+
103
- }
105
+ low = array[0];
104
106
 
105
107
 
108
+
109
+ for (int i = 1; i < size; i++) {
110
+
111
+ if(low > array[i])
112
+
113
+ low = array[i];
114
+
115
+ if (high < array[i])
116
+
117
+ high = array[i];
118
+
119
+ }
120
+
121
+ }
106
122
 
107
123
  ```
108
124
 

1

すいません、ご指摘ありがとうございます。meanHighLowじゃなくて違う名前の関数を間違えて書いていました。訂正しました

2018/10/03 06:13

投稿

amareno
amareno

スコア20

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- void pointerArithmetic(int* array, int size, double &average, int &high, int &low);
31
+ void meanHighLow(int* array, int size, double &average, int &high, int &low);
32
32
 
33
33
 
34
34
 
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- pointerArithmetic(num, size);
47
+ meanHighLow(num, size);
48
48
 
49
49
 
50
50
 
@@ -62,7 +62,7 @@
62
62
 
63
63
 
64
64
 
65
- void pointerArithmetic(int* array, int size, double &average, int &high, int &low) {
65
+ void meanHighLow(int* array, int size, double &average, int &high, int &low) {
66
66
 
67
67
 
68
68