第11講 関数と配列
第6話 前話解答


(コピーペースト用
using namespace System;
void ds(int* t,int m,int n);
void tn(int* t,int m,int n);
void yh(int* t,int m,int n);
void xh(int* t,int m,int n);
void oh(int* t,int m,int n);
void hj(int* t,int m,int n);
int main(){
Console::WriteLine("Visual C++コンソールアプリケーションの世界にようこそ!");

int a,b;
a=10;
b=20;
Console::WriteLine("{0} {1}",a,b);

int x[10][10];

ds(&x[0][0],10,10);

Console::WriteLine("自然配列の表示");
hj(&x[0][0],10,10);

tn(&x[0][0],10,10);

Console::WriteLine("自然配列置換の表示");
hj(&x[0][0],10,10);

tn(&x[0][0],10,10);
yh(&x[0][0],10,10);

Console::WriteLine("自然配列左右対称移動の表示");
hj(&x[0][0],10,10);

yh(&x[0][0],10,10);
xh(&x[0][0],10,10);

Console::WriteLine("自然配列上下対称移動の表示");
hj(&x[0][0],10,10);

xh(&x[0][0],10,10);
oh(&x[0][0],10,10);

Console::WriteLine("自然配列中心点対称移動の表示");
hj(&x[0][0],10,10);

}

void ds(int* t,int m,int n){
char i,j;
Console::WriteLine("自然配列を作成");
for(i=0;i<m;i++){
for(j=0;j<n;j++){
*(t+10*i+j)=10*i+j+1;
}
}
}

void hj(int* t,int m,int n){
char i,j;


for(i=0;i<m;i++){
for(j=0;j<n;j++){
Console::Write("{0,4:D}",*(t+10*i+j));
}
Console::WriteLine();
}
}

void tn(int* t,int m,int n){
char i,j;
int y[10][10];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
y[i][j]=*(t+10*i+j);
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
*(t+10*i+j)=y[j][i];
}
}
}


void yh(int* t,int m,int n){
char i,j;
int y[10][10];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
y[i][j]=*(t+10*i+j);
}
}

for(i=0;i<m;i++){
for(j=0;j<n;j++){
*(t+10*i+j)=y[i][9-j];
}
}
}

void xh(int* t,int m,int n){
char i,j;
int y[10][10];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
y[i][j]=*(t+10*i+j);
}
}

for(i=0;i<m;i++){
for(j=0;j<n;j++){
*(t+10*i+j)=y[9-i][j];
}
}
}

void oh(int* t,int m,int n){
char i,j;
int y[10][10];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
y[i][j]=*(t+10*i+j);
}
}

for(i=0;i<m;i++){
for(j=0;j<n;j++){
*(t+10*i+j)=y[9-i][9-j];
}
}
}






第10講第13話へ  第11講第5話へ
 第12講第1話へ 第13講第1話へ



vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ