「第3章 配列」Win32コンソールアプリケーション版
<岡本安晴「大学生のための心理学VC++プログラミング入門」>の第3章のサンプルプログラムのWin32版をVisual C++2008で作成した。プログラムファイルは圧縮ファイルとしてまとめた。圧縮ファイルはクリックしてダウンロードしたものをマウスの右ボタンでクリックして表示されるメニュから「解凍」あるいは「展開」を選んで解凍することができる。解凍したプログラムファイルはVisual C++2010でも開くことができる。
リスト3.1-1のWin32版
圧縮ファイルsample3_1_1win32.zip
==========================================
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double x[2][2] = {{1,2},{3,4}};
cout
<< "x =" << endl;
for (int i = 0; i
< 2; i++){
for (int j = 0; j
< 2; j++)
cout
<< " " << x[i][j];
cout
<< endl;
}
double y[2][2], z[2][2];
double J[2][2] = {{0,1},{1,0}};
cout
<< "J =" << endl;
for (int i = 0; i
< 2; i++){
for (int j = 0; j
< 2; j++)
cout
<< " " << J[i][j];
cout
<< endl;
}
for (int i = 0; i
< 2; i++)
for (int j = 0; j
< 2; j++){
// J を右から掛ける。
y[i][j]
= x[i][0]*J[0][j] + x[i][1]*J[1][j];
// J を左から掛ける。
z[i][j]
= J[i][0]*x[0][j] + J[i][1]*x[1][j];
}
cout
<< endl << "y ="
<< endl;
for (int i = 0; i
< 2; i++){
for (int j = 0; j
< 2; j++)
cout
<< " " << y[i][j];
cout
<< endl;
}
cout
<< endl << "z ="
<< endl;
for (int i = 0; i
< 2; i++){
for (int j = 0; j
< 2; j++)
cout
<< " " << z[i][j];
cout
<< endl;
}
cout
<< endl << "何か文字を入力して終了。" << endl;
char ck;
cin
>> ck;
return 0;
}
リスト3.2-1のWin32版
圧縮ファイルsample3_2_1win32.zip
============================================
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
// 基準値の読み込み
cout
<< "criterion = ";
double c;
cin
>> c;
double x[1000];
int n = -1;
// データの読み込み
do {
n++;
cout
<< "x[" << n << "] = ";
cin
>> x[n];
if (x[n] < c) break;
}
while (true);
cout
<< "Input data..." <<
endl;
for (int i = 0; i
< n; i++)
cout
<< "x[" << i << "] = " << x[i] << endl;
// 並べ換え
for (int i = 0; i
< n-1; i++){
int k = i;
for (int j = i+1; j
< n; j++)
if (x[k] > x[j]) k = j;
if (k > i){
double v = x[i];
x[i]
= x[k];
x[k]
= v;
}
}
cout
<< "After sorting..."
<< endl;
for (int i = 0; i
< n; i++)
cout
<< "x[" << i << "] = " << x[i] << endl;
cout
<< endl << "何か文字を入力して終了。" << endl;
char ck;
cin
>> ck;
return 0;
}