1 例題 ex3b ( 配列 ) 科学科プログラミング. 2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
ファーストイヤー・セミナーⅡ 第8回 データの入力.
プログラミング論 I 行列の演算
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング基礎I(再) 山元進.
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
C言語 配列 2016年 吉田研究室.
12: コマンドライン引数 C プログラミング入門 総機1 (月1) Linux にログインし、以下の講義ページ を開いておくこと
第8回 プログラミングⅡ 第8回
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
第6章 2重ループ&配列 2重ループと配列をやります.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
第10回 プログラミングⅡ 第10回
C言語講座 第3回 ポインタ、配列.
情報処理Ⅱ 2007年11月5日(月).
プログラミング演習 バージョン1 担当教員:綴木 馴.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
Cプログラミング演習 第6回 ファイル処理と配列.
プログラミング応用 printfと変数.
プログラミング論 II 2008年10月30日 文字列
プログラミング序論 2. n人のインディアン.
第10章 これはかなり大変な事項!! ~ポインタ~
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
前回の練習問題.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
第7回 プログラミングⅡ 第7回
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
プログラミング基礎B 文字列の扱い.
プログラムの制御構造 配列・繰り返し.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
情報理論2 第3回 小林 学 湘南工科大学 2011年10月25日 〒 神奈川県藤沢市辻堂西海岸1-1-25
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
配列変数とポインタ 静的確保と動的確保 ポインタ配列 2次元配列 時間計測 第1回レポートの課題
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
高度プログラミング演習 (09).
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
知能情報工学演習I 第8回(後半第2回) 課題の回答
プログラミング 4 文字列.
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
情報処理Ⅱ 2006年11月8日(金).
2005年度 データ構造とアルゴリズム 第2回 「C言語の復習:配列」
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
プログラミング演習II 2004年11月 16日(第5回) 理学部数学科・木村巌.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング入門2 第5回 配列 変数宣言、初期化について
第2章 数値の入力と変数 scanfと変数をやります.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
プログラミング演習I 補講用課題
12: コマンドライン引数 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

1 例題 ex3b ( 配列 ) 科学科プログラミング

2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列

3 ステップ 1 :配列  配列の添え字は,0から始まる点に注意 int prime[1000]; は, prime[0] から prime[999] までの, 1000 個の int 型の値を 格納できる箱をメモリ上に用意する. prime [0] prime [1] prime [2] prime [3] prime [4] prime [5] prime [6] prime [7] prime [8] prime [9] prime [990] prime [991] prime [992] prime [993] prime [994] prime [995] prime [996] prime [997] prime [998] prime [999]

4 ステップ 1 :配列  配列の初期化について #define SCORES 5 : int score[SCORES] = { 77, 23, 94, 100, 66 };  この初期化で, score[0] = 77; score[1] = 23; score[2] = 94; score[3] = 100; score[4] = 66; という初期値が整数型配列 score にセットされる

5 ステップ 1 :配列  for と 配列の関係 #include #define MAX 100 int main(void){ int score[MAX]; /* 配列の宣言 */ int i, sum; /* 複数の変数の宣言 */ for(i=0;i<MAX;i++){ fgets(line, sizeof(line), stdin); sscanf("%d", &score[i] ); sum = sum + score[i]; } printf("sum = %\n", sum); }

6 ステップ 2 :最小と最大  for と 配列を使って最小値を求めるには? #define CLASSES 5 /* 5 科目 */ int score[CLASSES] = {92, 82, 73, 95, 79}; int i, minclass = 0; /* 科目 0 を最小と仮定 */ for (i=0; i<CLASSES; i++){ if (score[minclass] > score[i] ){ minclass = i; }

7 ステップ 2 :最小と最大  for と 配列を使って最大値を求めるには? #define CLASSES 5 int score[CLASSES] = {92, 82, 73, 95, 79}; int i, maxclass = 0; /* 科目 0 を最大と仮定 */ for (i=0; i<CLASSES; i++){ if (score[maxclass] < score[i] ){ maxclass = i; }

8 ステップ 3 :文字型の配列  文字列は,文字型の配列として扱う char line[100]; は, line[0] から line[99] までの, 100 個の char 型 ( 文字 ) の値を格納で きる箱をメモリ上に用意する. line [0] line [1] line [2] line [3] line [4] line [5] line [6] line [7] line [8] line [9] line [90] line [91] line [92] line [93] line [94] line [95] line [96] line [97] line [98] line [99]

9 ステップ 3 :文字型の配列  文字列は,文字型の配列で表す char line[100]; char string[1000];  文字列の入力 fgets(line, sizeof(line), stdin); fgets(string, sizeof(string), stdin);  文字列の表示 printf( “ %s ”, line); printf( “ 入力された文字列は %s です ”, string);

10 ステップ 3 :文字型の配列  初期化では,文字列をそのまま利用可能 char line[100] = "This is a sample sentence. ” ; : printf("Your defined string is %s\n ”, line);  実行結果 You defined string is This is a sample sentence.  宣言時以外の場所での文字列の直接代入は出来ない × line = "This is wrong. ” ;

11 ステップ 3 :文字型の配列  fgets で文字列を取り込む場合,入力した文 字列の最後に改行が追加されるので注意 fgets(line, sizeof(line), stdin); line[0] ‘ H ’ line[1] ‘ e ’ line[2] ‘ l ’ line[3] ‘ l ’ line[4] ‘ o ’ line[5] ‘ ! ’ line[6] ‘ \n ’ line[7] ‘ \0 ’ line[8]line[9] line [90] line [91] line [92] line [93] line [94] line [95] line [96] line [97] line [98] line [99]