第12講 ベクタの学習
第14話 mainで2次元ベクタを定義してデータを与えて2次元ベクタを関数f()に送り関数f()で表示させる
2次元ベクタを送るコード例
#include<vector> //ベクタを使うのに必要なvectorをインクルード
#include <stdio.h> //printfを使うのに必要なstduio.hをインクルード
using namespace std; //ベクタを使うために必要
void f(vector<vector<int>>::iterator a);
void main(){
   vector< vector<int> > a(5);
   for(int i=0;i<6;i++)a[i].resize(6);
   for(int i=0;i<5;i++){ //mainにおいてデータを作成
     for(int j=0;j<6;j++){
        a[i][j]=6*i+j+1;
     }
   }
   f(a.begin());
}

void f(vector<vector<int>>::iterator a){
   printf("f()上での表示 \n");
   for(int i=0;i<5;i++){//f()上でデータを表示
     for(int j=0;j<6;j++){
        if(a[i][j]<10)printf("0%d ",a[i][j]); else printf("%d ",a[i][j]);
     }
     printf("\n");
   }
}

実行結果
f()上での表示
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 30


3次元ベクタはもう予想がつきますね。
例えば、
   vector< vector< vector<int> > > a(5);
   for(int i=0;i<6;i++)a[i].resize(6);
   for(int i=0;i<4;i++)a[i].resize(4);
です。
これは、配列
   int a[5][6][4];
に相当する3次元ベクタです。
3次元ベクタを送ったり、
返したりするプログラミングは、
もう皆さんは、
ご自分の力で出来ますね。
ベクタの講は、これで閉めて、
次講では、
ベクタを利用しての4次魔方陣と6次魔方陣の作成に挑戦します。


第13話へ 第13講第1話へ



a

eclipse c++ 入門講義第1部へ

魔方陣 数独で学ぶ V
BA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ