条件に適合する配列要素を数える
下はトランプのカードの名前の文字列を要素とする配列である。
ar = [ 'ハート','ダイヤ','スペード','ダイヤ','ダイヤ','ハート','ダイヤ','ダイヤ','クラブ','ハート','クラブ','ハート','ハート','ダイヤ','ハート','スペード','ダイヤ','ダイヤ','クラブ','スペード','ハート','スペード','クラブ','クラブ','ハート','ダイヤ','ハート','スペード','スペード','ダイヤ','ダイヤ','スペード','ダイヤ','ダイヤ','クラブ','スペード','スペード','ハート','ダイヤ','ダイヤ','スペード','ダイヤ','ダイヤ','ハート','ダイヤ','ダイヤ','スペード','ダイヤ','ダイヤ','クラブ','ハート','ハート','ダイヤ','ダイヤ','ハート','ハート','スペード','ダイヤ','ダイヤ','ダイヤ','ダイヤ','スペード','ダイヤ','ダイヤ','クラブ','ハート','クラブ','ダイヤ','ダイヤ','ダイヤ','ダイヤ','ダイヤ','クラブ','ダイヤ','クラブ','ダイヤ','ダイヤ','クラブ','スペード','ハート','ハート','ハート','クラブ','クラブ','スペード','ハート','ダイヤ','ダイヤ','ハート','スペード','ダイヤ','ダイヤ','ハート','ハート','ダイヤ','スペード','ダイヤ','ダイヤ','クラブ','ダイヤ','ダイヤ','ダイヤ','スペード','ハート','スペード','ダイヤ','スペード','クラブ','ダイヤ','ダイヤ','ダイヤ','ダイヤ','クラブ','ダイヤ','スペード','クラブ','クラブ','スペード','スペード','ハート' ]
この配列データを使って,赤いカード(ハートまたはダイヤ)の数を数える プログラムを,以下の方針で作りなさい。
・あらかじめ配列 ar に複数個の文字列データが格納される処理が, プログラムの最初で行われているものとする。 その部分については書く必要はない。
・ 目的としては赤の札,つまりハートまたはダイヤのカードの総数を数えたい。
・数を数え上げるためのカウンタとなる変数(たとえば count) ゼロに初期化して定義しておく。
・for ループで 配列の要素を読み込んでいく,
・配列要素の文字列が条件に合っていたら,カウンタを1だけ増やす。
・ ループが終了したら,下の例のように出力する。xx は整数で,行の最後には改行がある。
赤いカードの数 = xx
以下の形式で書きなさい。
count = 0
for i in ????
このループの中で if 構文を使ってデータを判定して集計する。
end
・自分の回答
n = ar.size
count = 0
for i in 0 .. n-1
if ar[i] == 'ダイヤ' or ar[i] == 'ハート'
count += 1
end
end
puts"赤いカードの数 = #{count}"
かんがえてみたんですけど、ifの中の書き方、puts"赤いカードの数"の表し方が間違っているみたいです。回答のほどお願いします。
回答3件
あなたの回答
tips
プレビュー