第7講 配列と2次元ループの学習
第6話 データ保存問題解答例と列・行合計を求める問題
解答例を示しておきましょう。
繰り返しますが、下はあくまで解答例であって、
結果が思ったように出ていればその他であっても正解です。
プログラムの解答は無数にあるのです。
for(i=0;i<4;i++){
for(j=0;j<4;j++){
h1[i][j]=b[i][j]+c[i][j];
h2[i][j]=b[i][j]-c[i][j];
h3[i][j]=b[i][j]*c[i][j];
}
}
w=L"";
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(h1[i][j]<10){
w=w+L"0"+h1[i][j].ToString()+L" ";
}
else{
w=w+h1[i][j].ToString()+L" ";
}
}
w=w+L"\n";
}
label6->Text=w;
w=L"";
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(h2[i][j]<10){
w=w+L"0"+h2[i][j].ToString()+L" ";
}
else{
w=w+h2[i][j].ToString()+L" ";
}
}
w=w+L"\n";
}
label7->Text=w;
w=L"";
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(h3[i][j]<10){
w=w+L"00"+h3[i][j].ToString()+L" ";
}
else{
if(b[i][j]*c[i][j]<100){
w=w+L"0"+h3[i][j].ToString()+L" ";
}
else{
w=w+h3[i][j].ToString()+L" ";
}
}
}
w=w+L"\n";
}
label9->Text=w;
ではまた課題を出しましょう。
この出力結果は、差のところがすべて5になってしまっています。
とが規則的に1ずつ増えていくようになっているので、
答えがすべて5になってしまうのです。
そこで、
のように
の部分を16以下の整数をランダムに発生させて、差の部分の答えがいろいろになるようにしてみます。
プログラム次のように改良してください。
まずソースコードの冒頭に
#include<stdlib.h>を加えてください。
stdlib.hはインクルードファイルといいます。
乱数を発生させる関数rand()を呼び込むのに必要なファイルであるとご理解ください。
関数rand()を使うので、それを呼び出すのに必要なファイルをinclude(インクルード)すなわち読み込みしているのです。
そして、プログラムコード
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(h2[i][j]<10){
w=w+L"0"+h2[i][j].ToString()+L" ";
}
else{
w=w+h2[i][j].ToString()+L" ";
}
}
w=w+L"\n";
}
を
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if((h2[i][j]>=0) & (h2[i][j]<10)){
w=w+L"00"+h2[i][j].ToString()+L" ";
}
if((h2[i][j]>-10) & (h2[i][j]<0)){
w=w+L"-0"+(-h2[i][j]).ToString()+L" ";
}
if(h2[i][j]<=-10){
w=w+h2[i][j].ToString()+L" ";
}
if(h2[i][j]>=10){
w=w+L"0"+h2[i][j].ToString()+L" ";
}
w=w+L"\n";
}
のように変更してください。
また、
for(i=0;i<4;i++){
for(j=0;j<4;j++){
b[i][j]=4*i+j+5;
}
}
の部分はなどはb[i][j]=4*i+j+5;をb[i][j]=rand() % 10;
と変更してください。他も同様です。
そして、ビルドして実行すると、
となります。
ただし、乱数ですから実行ボタンを押す度に結果は変わります。例えば、
です。
では問題です。実行ボタンを押すとのすべての列、すべての行の合計を計算させ、
と表示させてみましょう。
今回もかなり難しいですよ。試行錯誤で頑張りましょう。
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすい vb 入門 vba 入門 基礎から応用まで 第1部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ