SlideShare une entreprise Scribd logo
1  sur  43
cp-13. 構造体
(C プログラミング入門)
URL: https://www.kkaneko.jp/pro/adp/index.html
1
金子邦彦
内容
例題1.住所録
例題2.構造体と関数
構造体とは.構造体を扱う関数.
例題3.構造体のリスト
• 構造体とポインタの組み合わせ
2
目標
• 自分で「構造体」を定義する
• 自分で定義した構造体について,配列やポインタ
を作成する
3
データ型
• 基本データ型
char 文字(1文字)
int 整数
double 浮動小数
など
・その他のデータ型
配列→ データの並び(文字列も,文字の並び)
ポインタ → メモリアドレス
構造体 → いくつかのデータを「グループ化」したもの
など
4
データの集まり
住所
氏名
支店名
口座番号
残高
銀行口座
氏名
年齢
住所
住所録
実数部
虚数部
複素数
5
構造体とは?
• いくつかのデータを,グループ化して,新しい
型の名前を付けたもの
• 基本データ型(整数,浮動小数)などの組み合
わせ
6
例題1.住所録
• 住所録を表示するプログラムを作る
• 住所録データを扱うために,構造体の配列を使う
• 住所録は,名前(サイズ20の文字の配列),年齢,
住所(サイズ40の文字の配列)から構成する
7
#include <stdio.h>
#pragma warning(disable:4996)
struct Person {
char name[20];
int age;
char address[40];
};
int main()
{
struct Person a[] = {{"Ken", 20, "NewYork"},
{"Bill", 32, "HongKong"},
{"Mike", 35, "Paris" }};
int i;
for ( i = 0; i < 3; i ++ ) {
printf( "name=%s, age=%d, address=%sn", a[i].name, a[i].age, a[i].address );
}
return 0;
}
構造体 Person の型宣言
構造体の配列 a
の宣言と初期化
構造体のメンバの
読み出し 8
住所録
実行結果の例
name=Ken, age=20, address=NewYork
name=Bill, age=32, address=HongKong
name=Mike, age=35, address=Paris
9
プログラムとデータ
メモリ
a[0]
a[i].name
a[i].age
a[i].address
構造体の配列から
の値の読み出し
Ken 20 NewYork
Bill 32 HongKong
Mike 35 Paris
a[1]
a[2]
name age address
10
構造体の型宣言
• 構造体は,いくつかのデータをグループ化したも
の.
• 構造体には,名前がある
• それぞれのデータ(メンバという)は,名前と型
(データの種類のこと)がある.
struct Person {
char name[20];
int age;
char address[40];
};
名前
メンバ
11
構造体メンバの読み書き
• 配列の中身を読み書きするときには,構造体
のメンバを書く
例) a[i].name
これがメンバ
a[0] Ken 20 NewYork
Bill 32 HongKong
Mike 35 Paris
a[1]
a[2]
name age address
12
構造体の使い方
#include <stdio.h>
#pragma warning(disable:4996)
struct Person {
char name[20];
int age;
char address[40];
};
int main()
{
struct Person a[] = {{"Ken", 20, "NewYork"},
{"Bill", 32, "HongKong"},
{"Mike", 35, "Paris" }};
int i;
for ( i = 0; i < 3; i ++ ) {
printf( "name=%s, age=%d, address=%sn", a[i].name, a[i].age, a[i].address );
}
return 0;
}
②ここで Person を使って、「構造体の配列 a」 を宣
(変数の宣言)
①ここで「構造体 Person 」を宣言
(構造体の宣言)
③ここで a を使う
13
例題2.構造体と関数
• 3人分の住所録を読み込んで,構造体の配列に格
納した後に,表示するプログラムを作る
• 住所録データを扱うために,構造体の配列を使う
• 住所録は,例題1と同じく,名前(サイズ20の文字
の配列),年齢,住所(サイズ40の文字の配列)か
ら構成する
• ここでは,練習のため,1人分の住所録を読み込む関
数,1人分の住所録を表示する関数を作る.これら関
数への引数として,構造体のポインタを渡すこと.
14
#include <stdio.h>
struct Person {
char name[20];
int age;
char address[40];
};
void read_person( struct Person* a )
{
printf("name=");
scanf("%s", a->name );
printf("age=");
scanf("%d", &a->age );
printf("address=");
scanf("%s", a->address );
return;
}
void print_person( struct Person* a )
{
printf( "name=%s, age=%d, address=%sn", a->name, a->age, a->address );
return;
}
構造体 Person の型宣言
構造体の
ポインタ渡しに関係する
15
int main()
{
struct Person a[3];
int i;
for ( i = 0; i < 3; i ++ ) {
read_person( &a[i] );
}
for ( i = 0; i < 3; i ++ ) {
print_person( &a[i] );
}
return 0;
}
構造体の
ポインタ渡しに関係する
16
構造体と関数
実行結果の例
name=Ken
age=20
address=NewYork
name=Bill
age=32
address=HongKong
name=Mike
age=35
address=Paris
name=Ken, age=20, address=NewYork
name=Bill, age=32, address=HongKong
name=Mike, age=35, address=Paris
17
関数呼び出しの流れ
read_person関数
void read_person( struct Person* a )
main 関数
int main()
read_person( &a[i] );
関数呼び出し
return;
戻り
print_person( &a[i] );
関数呼び出し
return;
戻り
print_person関数
void print_person( struct Person* a )
18
void read_person( struct Person* a )
{
printf("name=");
scanf("%s", a->name );
printf("age=");
scanf("%d", &a->age );
printf("address=");
scanf("%s", a->address );
return;
}
void print_person( struct Person* a )
{
printf( "name=%s, age=%d, address=%sn", a->name, a->age, a->address );
return;
}
int main()
{
struct Person a[3];
int i;
for ( i = 0; i < 3; i ++ ) {
read_person( &a[i] );
}
for ( i = 0; i < 3; i ++ ) {
print_person( &a[i] );
}
return 0;
}
プログラム実行順
①
②
⑩
⑪
③
④ read_person関数
main関数
⑫
関数呼び出し
戻り
main 関数の先頭行
がプログラムの始まり
main 関数内の return
がプログラムの終わり
print_person関数
戻り
関数呼び出し
⑤
⑥
⑦
⑧
⑨
⑬
⑭
19
データの流れ
型 仮引数
① メモリアドレスを,
read_person 関数に渡す
②メモリアドレスを受け取って,
「a」という名前で使う
③main 関数には,
何も返さない
read_person関数
void read_person( struct Person* a )
main 関数
int main()
read_person( &a[i] );
関数呼び出し
return;
戻り
print_person( &a[i] );
関数呼び出し
return;
戻り
print_person関数
void print_person( struct Person* a )
⑥main 関数には,
何も返さない
型 仮引数
⑤メモリアドレスを受け取って,
「a」という名前で使う
④ メモリアドレスを,
print_person 関数に渡す
20
read_person関数呼び出しでのデータの流れ
main 関数内で宣言された a
a メモリアドレス
main 関数内で宣言された a
と,仮引数で宣言された a は
別のもの
型 仮引数
① メモリアドレスを,
read_person 関数に渡す
②メモリアドレスを受け取って,
「a」という名前で使う
read_person関数
void read_person( struct Person* a )
main 関数
int main()
read_person( &a[i] );
関数呼び出し
return;
戻り
③main 関数には,
何も返さない
a[0] Ken 20 NewYork
Bill 32 HongKong
Mike 35 Paris
a[1]
a[2]
name age address
a[0] Ken 20 NewYork
Bill 32 HongKong
Mike 35 Paris
a[1]
a[2]
name age address
21
関数への構造体の受け渡し
• 呼び出し側
• 「&」を付けて,メモリアドレスを,関数に渡す
例) read_person( &a[i] );
print_person( &a[i] );
• 関数側
• メモリアドレスを受け取ることを宣言しておく
例) void read_person( struct Person* a )
void print_person( struct Person* a )
「a[i] のメモリアドレス」という意
「メモリアドレスを受け取って,a
として使う」という意味 22
配列とポインタ
プログラム例: read_person( &a[i] );
a[0] Ken 20 NewYork
Bill 32 HongKong
Mike 35 Paris
a[1]
a[2]
name age address
i = 0 ならここ
i = 1 ならここ
i = 2 ならここ
23
演算子 -> の意味
メモリアドレスから,構造体メンバにアクセス
void read_person( struct Person* a )
{
printf("name=");
scanf("%s", a->name );
printf("age=");
scanf("%d", &a->age );
printf("address=");
scanf("%s", a->address );
return;
}
例)
ここでは,「a」に入っているのはメモリアドレス 24
scanf で a->age にだけ & をつける理
由
• 文字列
• a->name, a->address は,「文字の配列の先頭メモリアド
レス」という意味 (&は付けない)
• 整数,浮動小数
• &a->age は,「整数データのメモリアドレス」という意味
(&を忘れると,うまく動かない)
scanf("%s", a->name );
scanf("%d", &a->age );
scanf("%s", a->address );
25
課題1.住所録の条件検索
• 3人分の住所録を読み込んで,構造体の配列に格納し
た後に,「20歳以上」のデータだけを選んで表示す
るプログラムを作りなさい
• ここでは,「20歳以上のデータだけを表示する機能」を
持った関数(main 関数とは別の関数)を作ること
• 住所録データを扱うために,構造体の配列を使うこと
• 住所録は,例題1と同じく,名前(サイズ20の文字の配
列),年齢,住所(サイズ40の文字の配列)から構成す
る
• 確かに,20歳以上のデータだけが表示されることを確認
すること
26
課題2.日付
• 日付を扱う構造体を設計し、それを使ったプロ
グラムを作成しなさい
• 日付データを扱うために,構造体を使うこと
• 日付は,年(整数データ),月(整数データ),日
(整数データ)から構成する
• 日付を読み込んで,1か月分のカレンダーを表示する
ようなプログラムであること.
例)日付が「2001年12月21日」なら,20
01年12月の1か月分のカレンダーを表示する
27
例題3.構造体のリスト
• 住所録の読み込みと表示を行うプログラムを
作る
• 住所録データを扱うために,構造体のリストを使
う
• 住所録は,名前(サイズ20の文字の配列),年
齢,住所(サイズ40の文字の配列)から構成す
る
• メニュー機能を作るために switch 文を使う
28
#include <stdio.h>
#include <string.h>
#include <malloc.h>
struct Person {
char name[20];
int age;
char address[40];
};
struct PersonNode {
struct Person person;
struct PersonNode* next;
};
struct PersonList {
struct PersonNode* top;
};
構造体 Person の型宣言
構造体 PersonNode の型宣言
構造体 PersonList の型宣言
29
void insert_head( struct PersonList* a, char* name, int age, char* address )
{
struct PersonNode* x = new struct PersonNode();
strcpy(x->person.name, name);
x->person.age = age;
strcpy(x->person.address, address);
x->next = a->top;
a->top = x;
return;
}
void input_data( struct PersonList* a )
{
char name[20];
int age;
char address[40];
printf("name=");
scanf("%s", name );
printf("age=");
scanf("%d", &age );
printf("address=");
scanf("%s", address );
insert_head( a, name, age, address );
return;
}
構造体へのポインタ x
の宣言と初期化
構造体のメンバの
読み出し
30
void print_person( struct Person* a )
{
printf( "name=%s, age=%d, address=%sn", a->name, a->age, a->address );
return;
}
void print_data( struct PersonList* a )
{
PersonNode* current;
if ( a->top == NULL ) {
return;
}
current = a->top;
do {
print_person( &(current->person) );
current = current->next;
} while( current != NULL );
}
構造体へのポインタ current
の宣言
構造体のメンバの
読み出し
構造体のメンバの
読み出し
31
void menu()
{
struct PersonList* a = new PersonList();
a->top = NULL;
int command;
while(1) {
printf("menun");
printf("--------n");
printf("1. inputn");
printf("2. printn");
printf("9. exitn");
scanf("%d", &command );
if ( command == 9 ) {
return;
}
switch( command ) {
case 1:
input_data( a );
break;
case 2:
print_data( a );
break;
default:
printf("invalid commandn");
}
}
return;
}
構造体へのポインタ a
の宣言と初期化
switch 文については後述
32
int main()
{
menu();
return 0;
}
33
実行結果の例
menu
--------
1. input
2. print
9. exit
1
name=Ken
age=20
address=NewYork
menu
--------
1. input
2. print
9. exit
1
name=Bill
age=32
address=HongKong
menu
--------
1. input
2. print
9. exit
2
name=Bill, age=32, address=HongKong
name=Ken, age=20, address=NewYork 34
リスト
• 「何か」を順に並べたもの
• 順序に意味がある
ポインタを使ったリストの実現例
ポインタ
部分
データ
部分
1つの構造体
データ データ データ データNULL
NULLで,リストの
末端であることを表す
35
リストの例
struct Person {
char name[20];
int age;
char address[40];
};
struct PersonNode {
struct Person person;
struct PersonNode* next;
};
struct PersonList {
struct PersonNode* top;
};
Bill 32 HongKong Ken 20 NewYork
ポインタ
ポインタ NULL
構造体
struct PersonList
構造体
struct Person
構造体
struct Person
構造体
struct PersonNode
構造体
struct PersonNode
36
リストの辿り
current = a->top;
do {
print_person( &(current->person) );
current = current->next;
} while( current != NULL );
Bill 32 HongKong Ken 20 NewYork
ポインタ
ポインタ NULL
ループ1回目は,cuurent は,
ここへのポインタ
ループ2回目は,cuurent は,
ここへのポインタ
( current->next が NULL なので,
ループが終了する)
37
動的メモリ管理
• プログラムの実行中に、必要に応じて「メモ
リを確保」、「メモリを解放」すること
• new, delete を使用
38
リストと動的メモリ管理
「新しいノード」を作るには,new あるいは malloc を
使う.下記は new を使った例
void insert_head( struct PersonList* a, char* name, int age, char* address )
{
struct PersonNode* x = new struct PersonNode();
strcpy(x->person.name, name);
x->person.age = age;
strcpy(x->person.address, address);
x->next = a->top;
a->top = x;
return;
}
39
挿入
void insert_head( struct PersonList* a, char* name, int age, char* address )
{
struct PersonNode* x = new struct PersonNode();
strcpy(x->person.name, name);
x->person.age = age;
strcpy(x->person.address, address);
x->next = a->top;
a->top = x;
return;
}
①
②
③
④
⑤
⑥
Bill 32 HongKong Ken 20 NewYork
ポインタ
ポインタ NULL
⑤の時点
Bill 32 HongKong Ken 20 NewYork
ポインタ
ポインタ NULL
⑥の時点
40
動的メモリ管理のメリット
• 必要な分だけのメモリを、好きなときに得られ
る
1. 「リスト」は,必要に応じて,大きくなったり小さ
くなったりする
2. 配列は,あらかじめサイズが決まっていて,サイズ
を超えるデータは入らない
41
課題3.住所録
• 例題3のプログラムについて,住所録の表
示を関数の再帰呼び出しによって行うよう
に書き換えなさい.
42
課題3のヒント
表示関数
関数呼び出し
表示関数
表示関数
return;
関数呼び出し
return;
要素の表示
要素の表示
要素の表示
1番目の要素の表示
2番目の要素の表示
末尾の要素の表示
43

Contenu connexe

Similaire à cp-13. 構造体

C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61TATSUYA HAYAMIZU
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について豊明 尾古
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Springanyakichi
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2Atsuo Yamasaki
 
プログラマ講習第3回
プログラマ講習第3回プログラマ講習第3回
プログラマ講習第3回Yuma Yoshimoto
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)Masahiro Hayashi
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングkunihikokaneko1
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだNarami Kiyokura
 
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作ったdigitalghost
 
やさしく知りたいC言語
やさしく知りたいC言語やさしく知りたいC言語
やさしく知りたいC言語uru nru
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューAkira Inoue
 

Similaire à cp-13. 構造体 (20)

C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
プログラマ講習第3回
プログラマ講習第3回プログラマ講習第3回
プログラマ講習第3回
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
 
ji-6. 配列
ji-6. 配列ji-6. 配列
ji-6. 配列
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
 
C#6.0の新機能紹介
C#6.0の新機能紹介C#6.0の新機能紹介
C#6.0の新機能紹介
 
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った
拡張可能でprintfっぽい書式指定ができて書式指定文字列と引数をコンパイル時に検証できる文字列フォーマット関数を作った
 
やさしく知りたいC言語
やさしく知りたいC言語やさしく知りたいC言語
やさしく知りたいC言語
 
Project lambda
Project lambdaProject lambda
Project lambda
 
Map
MapMap
Map
 
Cocoa勉強会201208
Cocoa勉強会201208Cocoa勉強会201208
Cocoa勉強会201208
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
 
  
 
 

Plus de kunihikokaneko1

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い kunihikokaneko1
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション kunihikokaneko1
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスkunihikokaneko1
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要 kunihikokaneko1
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門kunihikokaneko1
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスkunihikokaneko1
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 kunihikokaneko1
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタkunihikokaneko1
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンkunihikokaneko1
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線kunihikokaneko1
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システムkunihikokaneko1
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニングkunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習kunihikokaneko1
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要kunihikokaneko1
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について kunihikokaneko1
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承kunihikokaneko1
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しkunihikokaneko1
 

Plus de kunihikokaneko1 (20)

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニング
 
mi-4. 機械学習
mi-4. 機械学習mi-4. 機械学習
mi-4. 機械学習
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
 
kaneko202304.pptx
kaneko202304.pptxkaneko202304.pptx
kaneko202304.pptx
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出し
 

cp-13. 構造体