質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

0回答

939閲覧

指定区間ごとに配列の要素をファイル出力する方法

ihsyo-y

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

1クリップ

投稿2019/12/15 09:31

アルゴリズムについての質問です。
ファイルから読み取ったデータが格納された配列(要素数は600の倍数)があり、それを特定の個数ごとに(下の例では600個)CSV出力するプログラムを作っています。

初回の呼び出し時、下記関数の第二引数は0とする

public void Writer(double[] data,int count) { string outputfilepath = "C:\Work\" + count + "_test.csv"; StreamWriter srwrite = new StreamWriter(outputfilepath, false, enc); for (int i = 0; i < data.Length; i++) { string str = i + "," + wdbl[i].ToString(); srwrite.WriteLine(str); if (i != 0 && i % 600 == 0) { Writer(double[] data,i); } } }

上記関数を実行すると、元のデータ数が1200個の時、1つ目のファイルには1200個のデータが書き込まれ、2つ目のデータには600個のデータが書き込まれてしまいます。

1200個のデータが格納されている配列があるとき、0-599まで、600-1199までのデータを別々に出力するためにはどのようなアルゴリズムにすればよいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/12/15 10:44

大体何をしたくて何を間違っているのかは想像がつきますが、最低限コンパイルが通る範囲および不明な変数が存在しない範囲のソースコードを提示してください。 encやwdblがどうなっているのか不明ですし、Writer(double[] data, i)の記述は明らかに間違いです。 dataを引数で渡しているのに実質data.Lengthとしてしか使用していません。
Zuishin

2019/12/17 11:17

言葉が通じない人には回答不可能ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問