teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

修正

2018/05/24 04:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -74,18 +74,6 @@
74
74
  }
75
75
  ```
76
76
 
77
- イメージ
78
- A:3 5 7 9 11 13
79
- B:0 0 0 0 0 0
80
-
81
- A:0 0 0 0 0 0
82
- B:3 5 7 9 11 13
83
-
84
- **問題文**
85
- move_array 関数の引数は、各配列の先頭アドレスを渡すポインタ 2 つと配列の個数とする。また、 show_array 関数の引数は、配列の先頭アドレスを渡すポインタと配列の個数とする。配列の初期値の設定は main 関数にて行うこと。なお、関数内ではポインタを用いてデータの操作を行うこととし、配列形式での変 数の操作は行わないこと。
86
-
87
- ![イメージ説明](5b55e61dedce2873c96e3979f7fc4c11.png)
88
-
89
77
  ```c
90
78
  void show_array( int *x, int n )
91
79
  {

4

追記

2018/05/24 04:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -97,4 +97,62 @@
97
97
  }
98
98
 
99
99
  }
100
+ ```
101
+
102
+ ```c
103
+ #include <stdio.h>
104
+
105
+ void move_array(int *s, int *d, int n );
106
+ void show_array( int *x, int n );
107
+
108
+ int main(void)
109
+ {
110
+ int a[6];
111
+ a[0] = 3;
112
+ a[1] = 5;
113
+ a[2] = 7;
114
+ a[3] = 9;
115
+ a[4] = 11;
116
+ a[5] = 13;
117
+
118
+ int b[6];
119
+
120
+ b[0] = 0;
121
+ b[1] = 0;
122
+ b[2] = 0;
123
+ b[3] = 0;
124
+ b[4] = 0;
125
+ b[5] = 0;
126
+
127
+
128
+ move_array(&a[6],&b[6], 6);
129
+ show_array(a, 6);
130
+ show_array(b, 6);
131
+
132
+ return 0;
133
+ }
134
+
135
+ void move_array(int *s, int *d, int n )
136
+ {
137
+ int tmp = 0;
138
+ for (int i=0; i < n; i++)
139
+ {
140
+ tmp = s[i];
141
+ s[i] = d[i];
142
+ s[i] = tmp;
143
+ }
144
+ return;
145
+ }
146
+
147
+
148
+ void show_array( int *x, int n )
149
+ {
150
+ printf("A:");
151
+ printf("B:");
152
+ for (int i = 0; i < n; i++)
153
+ {
154
+ printf("%d",x[i]);
155
+ }
156
+
157
+ }
100
158
  ```

3

追記

2018/05/23 17:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -84,4 +84,17 @@
84
84
  **問題文**
85
85
  move_array 関数の引数は、各配列の先頭アドレスを渡すポインタ 2 つと配列の個数とする。また、 show_array 関数の引数は、配列の先頭アドレスを渡すポインタと配列の個数とする。配列の初期値の設定は main 関数にて行うこと。なお、関数内ではポインタを用いてデータの操作を行うこととし、配列形式での変 数の操作は行わないこと。
86
86
 
87
- ![イメージ説明](5b55e61dedce2873c96e3979f7fc4c11.png)
87
+ ![イメージ説明](5b55e61dedce2873c96e3979f7fc4c11.png)
88
+
89
+ ```c
90
+ void show_array( int *x, int n )
91
+ {
92
+ printf("A:");
93
+ printf("B:");
94
+ for (int i = 0; i < n; i++)
95
+ {
96
+ printf("%d",x[i]);
97
+ }
98
+
99
+ }
100
+ ```

2

追記

2018/05/23 17:56

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -79,4 +79,9 @@
79
79
  B:0 0 0 0 0 0
80
80
 
81
81
  A:0 0 0 0 0 0
82
- B:3 5 7 9 11 13
82
+ B:3 5 7 9 11 13
83
+
84
+ **問題文**
85
+ move_array 関数の引数は、各配列の先頭アドレスを渡すポインタ 2 つと配列の個数とする。また、 show_array 関数の引数は、配列の先頭アドレスを渡すポインタと配列の個数とする。配列の初期値の設定は main 関数にて行うこと。なお、関数内ではポインタを用いてデータの操作を行うこととし、配列形式での変 数の操作は行わないこと。
86
+
87
+ ![イメージ説明](5b55e61dedce2873c96e3979f7fc4c11.png)

1

追記

2018/05/23 17:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -56,4 +56,27 @@
56
56
  }
57
57
  ```
58
58
  ### やりたい事
59
- main関数の二つの配列をmobe_arrayに渡し、関数内で入れ替えたのを今度はshow_arrayに渡してshow_array内で入れ替えた配列を表示させたい。
59
+ main関数の二つの配列をmobe_arrayに渡し、関数内で入れ替えたのを今度はshow_arrayに渡してshow_array内で入れ替えた配列を表示させたい。
60
+
61
+ 変更点
62
+ ```c
63
+ void move_array(int *s, int *d, int n )
64
+ {
65
+ int tmp = 0;
66
+ for (int i=0; i < n; i++)
67
+ {
68
+ tmp = *s;
69
+ *s = *d;
70
+ *d = tmp;
71
+ }
72
+
73
+ return;
74
+ }
75
+ ```
76
+
77
+ イメージ
78
+ A:3 5 7 9 11 13
79
+ B:0 0 0 0 0 0
80
+
81
+ A:0 0 0 0 0 0
82
+ B:3 5 7 9 11 13