第14講 配列を引数にして、配列を社員(関数)に送る

第4話 4次魔方陣を配列を送ることによって実現するその1
4次魔方陣の実行画面
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16

16 02 03 13
05 11 10 08
09 07 06 12
04 14 15 01

を2次元配列によって実現するプログラムその1
#include<stdio.h>
void f(int x[3][3]); //自然配列を作成する社員
void g(int x[3][3]); //データを表示する社員
void h(int x[3][3]); //自然配列の対角線のデータを交換して4次魔方陣を作成する社員
int main(){
  int i;
  int x[3][3];
  f(x);
  g(x);
  h(x);
  printf("\n");
  g(x);
}
void f(int x[3][3]){
  int i,j;
  for(i=0;i<4;i++){
    for(j=0;j<4;j++){
      x[i][j]=4*i+j+1;
    }
  }
}
void g(int x[3][3]){
  int i,j;
  for(i=0;i<4;i++){
    for(j=0;j<4;j++){
      if(x[i][j]<10)printf("0%d ",x[i][j]);
      if(x[i][j]>=10)printf("%d ",x[i][j]);
    }
    printf("\n");
  }
}
void h(int x[3][3]){
  int w,i;
  for(i=0;i<2;i++){
    w=x[i][i];
    x[i][i]=x[3-i][3-i];
    x[3-i][3-i]=w;
  }
  for(i=0;i<2;i++){
    w=x[i][3-i];
    x[i][3-i]=x[3-i][i];
    x[3-i][i]=w;
  }
}
2次元配列を送る4次魔方陣その1

次は、4次魔方陣その2です。

10 11 12
13 14 15 16

   ↓

15 14
12
10 11
13 16

を2次元配列を送ることによって、実現して下さい。

第3話へ 第5話へ

a


初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座

初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ