第15講 フリーストア配列
第3話 2次元フリーストア配列を関数に送るその1
第2話問題解答例
#include<iostream>
using namespace std;
void f(int** a);
void g(int** a);
void main(){
int** a=new int*[10];
for(int i=0;i<10;i++)a[i]=new int[12];
f(a);
g(a);
cout<<endl;
cout<<"プロジェクト終了"<<endl;
delete[] a;
}
void f(int** a){
int i,j;
for(i=0;i<10;i++){
for(j=0;j<12;j++){
a[i][j]=12*i+j+1;
}
}
}
void g(int** a){
int i,j;
for(i=0;i<10;i++){
for(j=0;j<12;j++){
if(a[i][j]<10)cout<<"00"<<a[i][j]<<"
";
if(a[i][j]>=10 && a[i][j]<100)cout<<"0"<<a[i][j]<<"
";
if(a[i][j]>=100)cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
ダウンロード用添付ファイル
今回は関数fをvoid型にしましたが、int**型にしてa=f(a);にするとどうなるでしょうか。
例によって解答例を20行下に示します。
#include<iostream>
using namespace std;
int** f(int** a);
void g(int** a);
void main(){
int** a=new int*[10];
for(int i=0;i<10;i++)a[i]=new int[12];
f(a);
g(a);
cout<<endl;
cout<<"プロジェクト終了"<<endl;
delete[] a;
}
int** f(int** a){
int i,j;
for(i=0;i<10;i++){
for(j=0;j<12;j++){
a[i][j]=12*i+j+1;
}
}
return(a);
}
void g(int** a){
int i,j;
for(i=0;i<10;i++){
for(j=0;j<12;j++){
if(a[i][j]<10)cout<<"00"<<a[i][j]<<"
";
if(a[i][j]>=10 && a[i][j]<100)cout<<"0"<<a[i][j]<<"
";
if(a[i][j]>=100)cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
では、次話の課題です。
2次元フリーストア配列bを用意し、そこに2次元配列aの各要素を2倍したものを代入させ、
のように表示させるプログラムを考えてください。
ただし、以下の条件を守るものとします。
① 代入は専用の関数を用意してそこで行う。
② 2次元フリーストア配列bはグローバル配列にはしないで、mainで定義する。
第2話へ 第4話へ
eclipse c++ 入門講義第1部へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ