fileに書き込むときのfor文のような動き

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
mm

fileに書き込むときのfor文のような動き

#1

投稿記事 by mm » 9年前

a.txtに配列の数字を書き込みたいのですが配列(arr)の数をfor文のような1-100までるようにしたいのですがどのようにすればいいでしょうか?
以下のプログラムですarr[0][0]を書いていくのをfor文でやらせたいです.

コード:

File.open("a.txt","a"){|file|
file.write "#{arr[0][0]}\n#{arr[0][1]}\n#{arr[1][0]}\n#{arr[1][1]}\n#{arr[2][0]}\n#{arr[2][1]}\n#{arr[3][0]}\n#{arr[3][1]}\n#{arr[4][0]}\n#{arr[4][1]}\n#{arr[5][0]}\n#{arr[5][1]}\n#{arr[6][0]}\n#{arr[6][1]}\n#{arr[7][0]}\n#{arr[7][1]}\n#{arr[8][0]}\n#{arr[8][1]}\n#{arr[9][0]}\n#{arr[9][1]}\n#{arr[10][0]}\n#{arr[10][1]}\n#{arr[11][0]}\n#{arr[11][1]}\n#{arr[12][0]}\n#{arr[12][1]}\n#{arr[13][0]}\n#{arr[13][1]}\n#{arr[14][0]}\n#{arr[14][1]}\n#{arr[15][0]}\n#{arr[15][1]}\n#{arr[16][0]}\n#{arr[16][1]}\n#{arr[17][0]}\n#{arr[17][1]}\n#{arr[18][0]}\n#{arr[18][1]}\n#{arr[19][0]}\n#{arr[19][1]}\n"
}

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: fileに書き込むときのfor文のような動き

#2

投稿記事 by みけCAT » 9年前

普通にプログラムを書き、実行することでfor文でやらせればいいでしょう。
使用するプログラミング言語は何ですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

mm

Re: fileに書き込むときのfor文のような動き

#3

投稿記事 by mm » 9年前

for文のプログラムをfile openに書くやり方?がわかりません。言語はrubyです

かずま

Re: fileに書き込むときのfor文のような動き

#4

投稿記事 by かずま » 9年前

mm さんが書きました:for文のプログラムをfile openに書くやり方?がわかりません。言語はrubyです
まずは、質問に答えて、

コード:

arr = [
    [11, 12, 13, 14],
    [21, 22, 23, 24],
    [31, 32, 33, 34],
]
File.open("a.txt", "a") { |file|
    for i in 0..2 do
        for j in 0...4 do
            file.write "#{arr[i][j]}\n"
        end
    end
}
こっちのほうがいいと思うんですが、

コード:

arr = [
    [11, 12, 13, 14],
    [21, 22, 23, 24],
    [31, 32, 33, 34],
]
File.open("a.txt", "a") { |file|
    for a in arr do
        file.write "#{a}\n"
    end
}
for文を使わないやり方も

コード:

arr = [
    [11, 12, 13, 14],
    [21, 22, 23, 24],
    [31, 32, 33, 34],
]
File.open("a.txt", "a") { |file|
    3.times { |i|
        4.times { |j|
            file.write "#{arr[i][j]}\n"
        }
    }
}

mm

Re: fileに書き込むときのfor文のような動き

#5

投稿記事 by mm » 9年前

できました!!ありがとうございます.丁寧にほかのやり方も教授していただき感謝します.

かずま

Re: fileに書き込むときのfor文のような動き

#6

投稿記事 by かずま » 9年前

mm さんが書きました:できました!!ありがとうございます.丁寧にほかのやり方も教授していただき感謝します.
0..2 と 0...4 に何か疑問を感じませんでしたか?
違いを説明してください。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: fileに書き込むときのfor文のような動き

#7

投稿記事 by みけCAT » 9年前

3や4といったマジックナンバーを使うのは良くないでしょう。

コード:

arr = [
  [11, 12, 13, 14],
  [21, 22, 23, 24],
  [31, 32, 33, 34]
]
File.open('a.txt', 'a') do |file|
  arr.each do |i|
    i.each do |j|
      file.write "#{j}\n"
    end
  end
end
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

かずま

Re: fileに書き込むときのfor文のような動き

#8

投稿記事 by かずま » 9年前

みけCAT さんが書きました:3や4といったマジックナンバーを使うのは良くないでしょう。
だから、... があるんでしょうね。

コード:

arr = [
	[11, 12, 13, 14],
	[21, 22, 23, 24],
	[31, 32, 33, 34],
]
file = File.open("a.txt", "a")
for i in 0...arr.size do
	for j in 0...arr[i].size do
		file.print arr[i][j], "\n"
	end
end
Ruby の .. は、Pascal の .. と同じ。
Swift の ... は、Ruby の .. と同じ。
Swift の ..< は、Ruby の ... と同じ。

閉鎖

“C言語何でも質問掲示板” へ戻る