第6講 同じことの横縦の繰り返し(2次元ループ)
第5話 2桁の整数の実現
を累積の箱を用いないで実現するプログラム例
#include<iostream>
using namespace std;
int main(){
int i,j;
for(i=0;i<10;i++){
for(j=1;j<11;j++){
if(10*i+j<10){
cout<<"00"<<10*i+j<<" ";
}
else{
if(10*i+j<100){
cout<<"0"<<10*i+j<<" ";
}
else{
cout<<10*i+j<<" ";
}
}
}
cout<<endl;
}
}
さて、皆さん考えてみてください。
前話で次元の意味を説明しました。
直線の動きの場合、1方向の動きのみなので1次元ですし、
平面的な動きの場合、横の方向と縦の方向の2方向あったので2次元でした。
実は、2次元とか3次元・4次元・---は不思議な話でもなんでもありません。
4次元を霊の世界と結びつける人がいますが、
霊の話と4次元は何の関係もありません。
とても身近なところに4次元の世界や5次元の世界などがあったのです。
なんですか。
もちろん、前話の最後の課題と関係しています。
答えは、例によって30行下に示します。
答え
2次元世界---2桁の整数
3次元世界---3桁の整数
4次元世界---4桁の整数
5次元世界---5桁の整数
・
・
・
2桁の整数は次のように考えればよいのです。
00,01,02,03,04,05,06,07,08,09
10,11,12,13,14,15,16,17,18,19
20,21,22,23,24,25,26,27,28,29
・
・
・
90,91,92,93,94,95,96,97,98,99
2桁の整数は、十の位と一の位の2要素からなる整数です。
2要素からなる世界ですから、2次元です。
今までの話の関連でいえば、
十の位と一の位の2方向からなる世界であるといった方がわかりやすいでしょうか。
---意図があり、あえて専門用語なしのVBAから借用---
#include<iostream>
using namespace std;
int main(){
int i,j;
for(i=0;i<10;i++){
for(j=1;j<11;j++){
if(10*i+j<10){
cout<<"00"<<10*i+j<<" ";
}
else{
if(10*i+j<100){
cout<<"0"<<10*i+j<<" ";
}
else{
cout<<10*i+j<<" ";
}
}
}
cout<<endl;
}
}
は
#include<iostream>
using namespace std;
int main(){
int i,j;
for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(10*i+j+1<10){
cout<<"00"<<10*i+j+1<<" ";
}
else{
if(10*i+j+1<100){
cout<<"0"<<10*i+j+1<<" ";
}
else{
cout<<10*i+j+1<<" ";
}
}
}
cout<<endl;
}
}
でも実現できます。
実は、実行結果
---意図があり、あえて専門用語なしのVBAから借用---
は1つだけ異質です。なんですか。
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門