回答編集履歴
2
Cのコードに説明を追記
answer
CHANGED
@@ -26,6 +26,7 @@
|
|
26
26
|
ydata[1] = 4000;
|
27
27
|
ydata[2] = 5000;
|
28
28
|
|
29
|
+
// ここから下をループで回してx,y,nのデータを設定します
|
29
30
|
int i = x - 1;
|
30
31
|
int j;
|
31
32
|
for(j = 0; j < 3; j++)
|
1
条件を限定してCのコード例を記述
answer
CHANGED
@@ -9,4 +9,33 @@
|
|
9
9
|
```
|
10
10
|
とりあえず判る情報だけで組もうとすると、C++ならこんな感じですね。ただ、これを素のC言語で作るとなると……。
|
11
11
|
|
12
|
-
具体的な使用例などを示していただいて条件が限定できれば、Cでも簡単に実装する方法が見つかるかもしれません。
|
12
|
+
具体的な使用例などを示していただいて条件が限定できれば、Cでも簡単に実装する方法が見つかるかもしれません。
|
13
|
+
---
|
14
|
+
例えば、以下の条件ならより簡単に組むことができます。
|
15
|
+
|
16
|
+
① yは3000,4000,5000の3種類。
|
17
|
+
② 同じxには必ず①がセットになっている。つまり、xが同じデータが必ず3つ揃っている。
|
18
|
+
③ xは1から始まり、必ず1ずつ増える。
|
19
|
+
これらの条件に当てはまるなら、こんな感じでいけると思います。。
|
20
|
+
```C
|
21
|
+
int ydaya[3];
|
22
|
+
double items[/*xのデータ数*/][3];
|
23
|
+
:
|
24
|
+
:
|
25
|
+
ydata[0] = 3000;
|
26
|
+
ydata[1] = 4000;
|
27
|
+
ydata[2] = 5000;
|
28
|
+
|
29
|
+
int i = x - 1;
|
30
|
+
int j;
|
31
|
+
for(j = 0; j < 3; j++)
|
32
|
+
{
|
33
|
+
if(y == ydata[j])
|
34
|
+
break;
|
35
|
+
}
|
36
|
+
if(j >= 3)
|
37
|
+
{
|
38
|
+
// エラー処理
|
39
|
+
}
|
40
|
+
items[i][j] = n;
|
41
|
+
```
|