第8講 関数(2)
第2話 1次元配列を送る
f()がデータを作成して、g()がデータを表示するという分業によって、
実行画面
1 7 4 0 9 4 8 8 2 4
を実現するプログラム例
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
void f(int x[]); //データ作成関数
void g(int x[]); //データ表示関数
int main() {
  int a[10]; //配列の宣言
  f(a); //配列の先頭アドレスを渡している
  g(a); //配列の先頭アドレスを渡している
}
void f(int x[]) {
  int i;
  for (i = 0; i < 10; i++)x[i] = rand() % 10; //配列のデータ作成
}
void g(int x[]) {
  int i;
  for (i = 0; i < 10; i++)cout<< x[i] <<" "; //配列のデータ表示
  cout << endl; //改行
}


これは、ポインタによって
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
void f(int *x); //データ作成関数
void g(int *x); //データ表示関数
int main() {
  int *a = (int *)malloc(sizeof(int) * 10); //配列の宣言
  f(a); //配列の先頭アドレスを渡している
  g(a); //配列の先頭アドレスを渡している
}
void f(int *x) {
  int i;
  for (i = 0; i < 10; i++)x[i] = rand() % 10; //配列のデータ作成
}
void g(int *x) {
  int i;
  for (i = 0; i < 10; i++)cout<< x[i] <<" "; //配列のデータ表示
  cout << endl; //改行
}
等とすることも出来ます。

次話の課題です。
@2次元配列に対応するポインタを作り、関数f()で2次元データを作成する
A関数g()でその2次元データを表示する
という条件下で実行画面が
1 7 4 0 9 4 8
8 2 4 5 5 1 7
1 1 5 2 7 6 1
4 2 3 2 2 1 6
8 5 7 6 1 8 9
2 7 9 5 4 3 1

となるプログラムを作って下さい。


第1話へ   第3話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

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