1999-06-01から1ヶ月間の記事一覧

整数の2乗と浮動小数点数2乗 (関数マクロ)

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 整数の2乗と浮動小数点数2乗 (関数マクロ)

型の表現範囲を表示

明解C言語 入門編 > 7. 基本型 > 型の表現範囲を表示

型や変数の大きさを表示

明解C言語 入門編 > 7. 基本型 > 型や変数の大きさを表示

ビットシフト

明解C言語 入門編 > 7. 基本型 > ビットシフト Ruby def count_bits(x) count = 0 while (x != 0) count += 1 if (x & 1 != 0) x = (x >> 1) & ~(~0 << (x.size * 8)) end return count end def int_bits return count_bits(~0) end def print_bits(x) (int…

論理和・論理積・排他的論理和

明解C言語 入門編 > 7. 基本型 > 論理和・論理積・排他的論理和 Ruby def count_bits(x) count = 0 while (x != 0) count += 1 if (x & 1 != 0) x = (x >> 1) & ~(~0 << (x.size * 8)) end return count end def int_bits return count_bits(~0) end def pr…

ビット構成を表示する

明解C言語 入門編 > 7. 基本型 > ビット構成を表示する Ruby def count_bits(x) count = 0 while (x != 0) count += 1 if (x & 1 != 0) x = (x >> 1) & ~(~0 << (x.size * 8)) end return count end def int_bits return count_bits(~0) end def print_bits…

暗黙の初期化

明解C言語 入門編 > 6. 関数 > 暗黙の初期化

自動記憶域期間 と 静的記憶域期間

明解C言語 入門編 > 6. 関数 > 自動記憶域期間 と 静的記憶域期間

識別子の有効範囲を確認する

明解C言語 入門編 > 6. 関数 > 識別子の有効範囲を確認する Ruby $x = 700 def print_x print "#{$x}\n" end def main x = 800 print_x # 700 print "#{x}\n" # 800 for i in 1..4 x = i * 100 print "#{x}\n" # 100 〜 400 end print "#{x}\n" # 400 end m…

多次元配列の受け渡し

明解C言語 入門編 > 6. 関数 > 多次元配列の受け渡し Ruby def mat_add(a, b, c) for i in 0..1 for j in 0..2 c[i][j] = a[i][j] + b[i][j] end end end ma = [[1, 2, 3], [4, 5, 6]] mb = [[6, 3, 4], [5, 1, 2]] mc = [[], []] mat_add(ma, mb, mc) for …

逐次探索 (番兵)

明解C言語 入門編 > 6. 関数 > 逐次探索 (番兵) Ruby NINSU = 5 FAILED = -1 def search(key, no, ary) ary[no] = key i = 0 while (1) break if (ary[i] == key) i += 1 end return (i == no ? FAILED : i + 1) end ary = [83, 55, 777, 499, 20] key = 18…

逐次探索

明解C言語 入門編 > 6. 関数 > 逐次探索 Ruby NINSU = 5 FAILED = -1 def search(key, no, ary) i = 0 while (1) return FAILED if (i == no) return i + 1 if (ary[i] == key) i += 1 end end ary = [83, 55, 777, 499, 20] key = 18 idx = search(key, NI…

受け取った配列への書き込み

明解C言語 入門編 > 6. 関数 > 受け取った配列への書き込み Ruby NINSU = 5 def int_set(no, vc) for i in 0..(no - 1) vc[i] = i end end ary = [] puts "関数 呼び出し前" for i in 0..(NINSU - 1) printf(" ary[%d] = %d\n", i, ary[i]) end int_set(NIN…

配列の受け渡し

明解C言語 入門編 > 6. 関数 > 配列の受け渡し Ruby NINSU = 5 def max_of(no, vc) max = vc[0] for i in 1..(no - 1) max = vc[i] if (vc[i] > max) end return max end print "#{NINSU}人の点数を入力してください。\n" eng = [] mat = [] for i in 0..(N…

関数プロトタイプ

明解C言語 入門編 > 6. 関数 > 関数プロトタイプ

値を返さない関数・仮引数を受け取らない関数

明解C言語 入門編 > 6. 関数 > 値を返さない関数・仮引数を受け取らない関数 Ruby def max3 max = $n1 max = $n2 if ($n2 > max) max = $n3 if ($n3 > max) printf("最も大きい値は%dです。\n", max) end puts "3つの整数を入力してください。" print "整…

読み込んだ3つの整数値の最大値を返す関数

明解C言語 入門編 > 6. 関数 > 読み込んだ3つの整数値の最大値を返す関数 Ruby def max3(x, y, z) max = x max = y if (y > max) max = z if (z > max) return max end puts "3つの整数を入力してください。" print "整数1:" n1 = STDIN.gets.chomp.to_…

読み込んだ2つの整数値の大きい方の値を返す関数

明解C言語 入門編 > 6. 関数 > 読み込んだ2つの整数値の大きい方の値を返す関数 Ruby def maxof(x, y) return (x > y) ? x : y end puts "2つの整数を入力してください。" print "整数1:" n1 = STDIN.gets.chomp.to_i print "整数2:" n2 = STDIN.gets…

素数を求める (ver.5)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.5) Ruby prime = [] counter = 0 prime[0] = 2 prime[1] = 3 ptr = 2 no = 5 while (no <= 30) j = 0 i = 1 loop do counter += 1 break if (prime[i] * prime[i] > no) counter += 1 if (no % prime[i] ==…

素数を求める (ver.4)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.4)

素数を求める (ver.3)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.3)

素数を求める (ver.2)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.2)

素数を求める (ver.1)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.1)

2行3列の行列を加算する (多次元配列)

明解C言語 入門編 > 5. 配列 > 2行3列の行列を加算する (多次元配列) Ruby ma = [[1, 2, 3], [4, 5, 6]] mb = [[6, 3, 4], [5, 1, 2]] mc = [[], []] for i in 0..1 for j in 0..2 printf("%3d", mc[i][j]) end puts "" end for i in 0..1 for j in 0..2 …

配列の要素に値を読み込む (代入式)

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む (代入式) Ruby score = [] sum = 0 puts "点数を入力してください。" for i in 0..4 printf("%d番:", i + 1) score[i] = STDIN.gets.chomp.to_i sum += score[i] end min = max = score[0] score.e…

配列の要素に値を読み込む (#define)

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む (#define) Ruby NINSU = 5 score = [] sum = 0 puts "点数を入力してください。" for i in 0..(NINSU - 1) printf("%d番:", i + 1) score[i] = STDIN.gets.chomp.to_i sum += score[i] end printf(…

配列の要素に値を読み込む

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む Ruby score = [] sum = 0 puts "点数を入力してください。" for i in 0..4 printf("%d番:", i + 1) score[i] = STDIN.gets.chomp.to_i sum += score[i] end printf("合計点%d\n", sum) printf("平…

配列のコピー

明解C言語 入門編 > 5. 配列 > 配列のコピー Ruby va = [1, 2, 3, 4, 5] vb = va vb[4] = 6 puts " va vb" puts "-------" for i in 0..4 printf("%3d %3d\n", va[i], vb[i]) end puts "" va = [1, 2, 3, 4, 5] vc = [] va.each_with_index do |a, i| vc[i]…

配列の各要素に先頭から順に 1,2,3,4 を代入して表示 (初期化子の足りない要素)

明解C言語 入門編 > 5. 配列 > 配列の各要素に先頭から順に 1,2,3,4 を代入して表示 (初期化子の足りない要素) Ruby score = [1, 2, 3, 4] for i in 0..4 printf("点数%d = %d\n", i + 1, score[i]) end 実行結果 L:\>ruby l:\lesson_05_032.rb 点数…

配列の各要素に先頭から順に 1,2,3,4,5 を代入して表示 (for文)

明解C言語 入門編 > 5. 配列 > 配列の各要素に先頭から順に 1,2,3,4,5 を代入して表示 (for文) Ruby score = [] for i in 0..4 score[i] = i + 1 end for i in 0..4 printf("点数%d = %d\n", i + 1, score[i]) end 実行結果 L:\>ruby l:\lesson_05…