第8講 4次魔方陣と6次魔方陣の作成
第2話 データの交換するにはどうする?
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
から
16 | 2 | 3 | 13 |
5 | 11 | 10 | 8 |
9 | 7 | 6 | 12 |
4 | 14 | 15 | 1 |
を作るには、1と16等を交換しなければなりません。
そこで、交換プログラムを考えます。
#include<stdio.h>
void f(int *x); //データを交換する社員
void g(int *x); //データを表示する社員
int main(){
int x[2];
x[0]=1;
x[1]=16;
g(x);
f(x);
g(x);
}
void f(int *x){
}
void g(int *x){
int i;
for(i=0;i<2;i++)printf("%d ",x[i]);
printf("\n");
}
コピペ用添付ファイル
を実行させると、実行画面は
1 16
1 16
となっています。
社員fの内容が空っぽですので、
f(x);
があっても意味がありません。
社員fの内容を埋めて、実行画面が
1 16
16 1
となるようにしたいと思いますが、
void f(int *x){
x[0]=x[1];
x[1]=x[0];
}
は正解でしょうか。
ところが、このようにすると実行画面は、
1 16
16 16
となってしまいます。
これは当然です。
x[0]=x[1];
によって、
x[0]の貴重なデータが消えてしまい
となってしまっています。
次の行
x[1]=x[0];
はまったく意味のない操作ですね。
では、皆さん正しいプログラムを組んで下さい。
ヒントは、fにおいてもう1つの箱を用意するです。
第1話へ 第3話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ