配列

記事一覧 0001
  • 配列-発展8

    Monday, January 01, 0001 in 発展

    問題 幅600×高さ600のウィンドウに, 15個の円が連なって マウスを追いかけるアニメーションを作ってください. イメージとしては,しっぽのある彗星や蛇のような動きです. ウィンドウサイズ: 600×600 円の数: 15個 先頭(0番目) の円はマウスを滑らかに追う 2番目以降 の円は, 自分の 1個前の円 を滑らかに追う 後ろの円ほど少し 小さく 描く 実行例 できたひとは マウスでクリックしたら実行するようにコードを変更してください.

    続きを読む

  • 配列-発展7

    Monday, January 01, 0001 in 発展

    問題 配列-発展6と同じ配列のローテーションを,マウスクリックで1ステップずつ実行してください: 500×200のウィンドウを作成してください setup() で赤・青・白のランダムな色を持つ8個の円を描画してください マウスをクリックするたびに,配列の末尾の要素を先頭に移動させ(右循環シフト),円の並びを更新してください ヒントを見る 自動実行(frameRate)を使わず,void mousePressed() にシフト処理と再描画を移動します draw() は空のままにしてください シフト …

    続きを読む

  • 配列-発展6

    Monday, January 01, 0001 in 発展

    問題 配列のローテーション(循環シフト)を使ったアニメーションを実装してください: 500×200のウィンドウを作成してください 赤(0)・青(1)・白(2)のいずれかをランダムに割り当てた8個の円を横一列に描画してください frameRate(1) で1秒ごとに,配列の末尾の要素を先頭に移動させ(右循環シフト),円の並びを更新してください ヒントを見る int[] status = new int[8]: 0=赤,1=青,2=白で各円の色を管理します 右循環シフト:int temp = …

    続きを読む

  • 配列-発展5

    Monday, January 01, 0001 in 発展

    問題 配列の要素を並び替えて,配列を反転させるプログラムを実装してください: {15, 10, 3, 7, 11, 8} の6要素配列を初期値として宣言してください 並び替え前の配列の内容をコンソールに表示してください 配列の先頭と末尾の要素を交互に入れ替えながら,配列全体を反転させてください 並び替え後の配列の内容をコンソールに表示してください ヒントを見る int[] array = {15, 10, 3, 7, 11, 8}: 初期値付きで配列を宣言できます 一時変数 temp を使って2 …

    続きを読む

  • 配列-発展4

    Monday, January 01, 0001 in 発展

    問題 10種類のカードをコンプリートするまでカードを引き続けるシミュレーションを実装してください: 10種類のカード(カード1〜10)が全種類1枚以上揃うまで,ランダムにカードを引き続けてください 全種類が揃ったら,各カードの枚数と合計で何枚引いたかをコンソールに表示してください ヒントを見る int complete = 0: コンプリートフラグ(1になったらループを終了) while(complete == 0) で繰り返します 全要素をチェックし,card[i] == 0 の要素が1つでも …

    続きを読む

  • 配列-発展3

    Monday, January 01, 0001 in 発展

    問題 配列-発展2と同じ処理を,2次元配列を使って実装してください: card[2][6] の2次元配列を用意し,card[0] が黒,card[1] が赤を表すようにしてください マウスクリックで黒・赤それぞれ1枚ずつカードを引く処理を合計20回繰り返してください 20回に達したら,黒・赤の各カード枚数と合計枚数を表示してください ヒントを見る int[][] card = new int[2][c]: 行0が黒,行1が赤を表します for(int i=0; i<2; i++) { …

    続きを読む

  • 配列-発展2

    Monday, January 01, 0001 in 発展

    問題 黒と赤の2種類のカードを別々の配列で管理するプログラムを実装してください: 黒カード用と赤カード用に,それぞれ要素数6の配列を用意してください マウスをクリックしたとき,黒と赤それぞれ1枚ずつランダムにカードを引く処理を合計20回繰り返してください 20回に達したら,黒・赤それぞれの各カード枚数と,各番号の合計枚数をコンソールに表示し,ループを停止してください ヒントを見る int[] red = new int[6], int[] black = new int[6]: 色別に配列を用意 …

    続きを読む

  • 配列-発展1

    Monday, January 01, 0001 in 発展

    問題 配列-基礎4のカードゲームを,棒グラフで可視化してください: 300×400のウィンドウを作成してください マウスをクリックするたびに,0〜5のランダムなカードを1枚引いてください 各カードの累計枚数を棒グラフで描画してください 棒の幅は width/6,高さは 枚数 × height/10 とし,ウィンドウ下端から上に伸びるように描画してください ヒントを見る rect(i*width/6, height-card[i]*height/10, width/6, …

    続きを読む

  • 配列-応用9

    Monday, January 01, 0001 in 応用

    問題 4個の整数値を要素に持つ配列から様々な統計量を求めるプログラムを実装してください 要素数4の配列には1〜99のランダムな整数を格納してください 合計・平均・最大値・中央値を求め,コンソールに表示してください 各要素が平均以上か平均未満かを判定して表示してください できた人は中央値について,配列の要素数が奇数でも偶数でも同一のプログラムで実装できるように工夫してください. 実行例

    続きを読む

  • 配列-応用8

    Monday, January 01, 0001 in 応用

    問題 配列-応用7を拡張し,縦線のゾーンに応じて円の色が変わるアニメーションを実装してください: 縦線をそれぞれランダムな色で100ピクセル間隔に描画してください 各円は,いずれの縦線にも触れていないときは黒で描画してください 各円が縦線に触れているときは,その縦線の色で描画することしてください. ただし,画面端の x=0 および x=width における色の変化は,実装してもしなくてもよいです.実行例では,x=widthでは色が変化し,x=0 では黒のまま. 実行例

    続きを読む