質問編集履歴

2

a

2022/06/03 03:39

投稿

Cass-_.4567
Cass-_.4567

スコア4

test CHANGED
@@ -1 +1 @@
1
- C言語 5つの並びについて
1
+ C言語 質問変更削除
test CHANGED
@@ -1,41 +1 @@
1
- 巡回組み合わせの問題で5都市で順回路の組み合わせを考えるとき最初(最後)の都市は固定して良いので順回路の組み合わせの総数は4P4で24通り(1→2→3→4→5→1の2,3,4,5の並びが変化する)ですが、これをfor文を用いて表すとき
2
-
3
- ```
4
-
5
- void SimpleOrder(struct TSP *tsp)
6
-
7
- {
8
-
9
- int order[N];
10
-
11
- tsp->order[0]=0;
12
-
13
- for(tsp->order[1]=1;tsp->order[1]<N;tsp->order[1]++)
1
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
14
-
15
- {
16
-
17
- for(tsp->order[2]=1;tsp->order[2]<N;tsp->order[2]++)
18
-
19
- {
20
-
21
- for(tsp->order[3]=1;tsp->order[3]<N;tsp->order[3]++)
22
-
23
- {
24
-
25
- for(tsp->order[4]=1;tsp->order[4]<N;tsp->order[4]++)
26
-
27
- { q=0;
28
-
29
- if(tsp->order[4]==tsp->order[3] ||tsp->order[4]==tsp->order[2]||tsp->order[4]==tsp->order[1])
30
-
31
- {
32
-
33
-
34
-
35
-
36
-
37
- }
38
-
39
- ```
40
-
41
- このように4重のループによって解こうとしているのですが、この部分でどうコードを書いていけばよいかつまってしまいます。自分のこのやり方だと1→1→1→1→1→1のように重複ができてしまうのでそこも消せるようなプログラムを考えていますが、どのようにアプローチをかけていけばいいかが分かりません。アドバイスの方をよろしくお願いいたします。これは構造体の一部の関数のコードを切り取ったものです。

1

2022/01/14 02:19

投稿

Cass-_.4567
Cass-_.4567

スコア4

test CHANGED
@@ -1 +1 @@
1
- C言語 順回路の組み合わせ問題 5つの並び
1
+ C言語 5つの並びについて
test CHANGED
File without changes