• 締切済み

卒業研究でプログラムを組むことになりましたが、C++初心者のため戸惑っ

卒業研究でプログラムを組むことになりましたが、C++初心者のため戸惑っています。 現在困っていることは、CSVファイルのデータ(縦一列)を1行目を読み込み計算、2行目を読み込み計算、3行目を読み込み計算…といった作業をデータの数だけ繰り返し、最終的にCSVファイルに出力するプログラムを組みたいと考えています。 私も引き続きC++を勉強しながら回答お待ちしています。 どうぞよろしくお願いします。

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

そもそもC++である必要を感じませんが、VisualBasic等でも十分に開発可能だと思います。もし、他のプログラミング言語が組めるならC++を使うのをやめたほうが良いでしょう。

回答No.2

CSVをファイルから読み込むには、結局、横1行ずつ読み込むしかありません。 「縦(列)について処理したいのだから、縦1列ずつ読み込めないのだろうか?」と思うかもしれませんができません。 戦略としては、 (A) (1)1行Read (2) 行を分解して、列ごとに途中の計算をする。 (3) (1),(2)をファイルの終了まで繰り返す (4) 結果をCSVに出力 (B) (1)1行Read (2) 行を分解して、1行分のデータを構造体にして、可変長配列(MFCならCArrayなど)に追加。 (3) (1),(2)をファイルの終了まで繰り返す (4) 列ごとに計算する。 (5) 結果をCSVに出力 のいずれかになると思いますが、 私は、特に初心者の方には、(B)をお勧めします。 それは、 (1)CSV形式のデータをメモリに読み込む。 (2)列ごとに計算する。 (3)結果を出力する。 という3つの処理に明確に分けることができ、 構造化、モジュール化の観点から望ましいと思うからです。 (A)の場合、ファイルの読み込みと計算処理が一緒になってしまいます。

回答No.1

質問がありませんので回答できません。

関連するQ&A

  • C言語初心者過ぎてわからないです

    エクセルのCSVデータなんですが 1行目のデータを 1行目から5行目まで同じデータ 6行目のデータを 6行目から10行目まで同じデータ 10行目のデータを 10行目から15行目まで同じデータ 以上のような作業を繰り返し元のCSVのデータをすべて5行(つまりデータの量は5倍)にしたいのですが C言語でこのような作業を行うファイルをつくるにはC言語ではどのようなプログラムになるでしょうか

  • c言語初心者なんですけど

    至急プログラムを組まなきゃいけないので質問させてもらいます。 c言語(環境的にcしか使えない)を用いて、とあるファイルから 列の計算をしたいのですが、どのようにくんだらいいのでしょうか!? とあるファイルとは 1 2 2 3 3 4 4 5 6 6 7 8 . . . というような二列複数行のファイルです。 行いたい作業は1列目で合計を出し、2列目で合計をだして最後に一列目一行と二列目一行をかけたものを最後の行まで足し合わせたものを作りたいのですが、1列目や2列目の合計の計算方法からしてわかりません。 わかる人お願いします。

  • C言語プログラム

    .txtファイルのデータを読み込んで処理するプログラムを作っているのですがやり方がわかりません。 .txtファイルには 1  1.0043  34   744   0.001 7  1.0053  36  733   0.024 4   1.0056  62  621  0.003 . . . と百行くらいのデータがあります。 このデータを読み込んで3行目の2桁の数字だけを取り出す作業ができません。 34 36 62 このようにしたいのですがわかる方教えてください、お願いします。

  • c言語でのヒストグラム作成用のプログラム

    -50から500までの整数が一列に乱数で入力されたテキストファイルを読み込んで-50が何個、-49が何個、・・・、499が何個、500が何個といった感じにに出力するCプログラムが分かりません。 テキストファイルの中身は-50から500までの整数が一列に書いてあります。説明不足かも知れませんがわかる方よろしくお願いします。

  • C言語でプログラムを作成しなさい!といわれたんですが...

    ◎プログラム仕様 C言語を使用 入力ファイルから1レコードを入力する。改行マークまで入力する。 2番目の「:」以前のデータを有効とする。 2番目の「:」からは、不要です。 出力ファイルへ出力する。 この処理を最終レコードまで行う。 処理の例 yoneko:ksgtgsmbnisysbnka:sjkmakshs7s:sksksk99jjs: 入力データ yoneko:ksgtgsmbnisysbnka                出力データ 入力ファイル名・出力ファイル名は、任意に指定できるものとする。 入力ファイルの1レコード当たりの最大バイト数は、100バイトします。 それぞれの処理でエラーが発生した場合は、エラーの表示を行う。 を依頼されました。 まったく意味が分りません。 わかりやすく説明していたでけないでしょうか。 C言語、自体わかりません。

  • perl初心者ですが、プログラム作成で行き詰ってしまいました。

    perl初心者ですが、プログラム作成で行き詰ってしまいました。 参考書を読みあさり、色々とググってみたのですが、どうしても組み立てられません。知識のある方ご回答よろしくお願いします。 一つ目は: 英語の文章を記憶したファイルを指定し,その内容を読み込み,文章内に含まれる単語を出現頻度の降順で表示させるプログラムを作成すること 「1位:・・・(・・回)」 「2位:・・・(・・回)」 ... なお,一つの単語が二行にまたがることはないものとする。 二つ目は: テストの成績データを記憶したCSV ファイルを指定し,その内容を読み込み,各学生の総合点と順位,各科目の最高点,最低点,平均点を記憶したCSVファイルを書き出すプログラムを作成せよ。 なお,入力用のファイルと出力用のファイルはキーボード入力で指定するものとする。 また,異なる学生数および科目数のCSV ファイルを読み込んでも正しく動作するようにすること。 卒業のかかったレポートで、この二つを完成させないと先に進めないのです。 本当に図々しい質問で大変申し訳ありません。知識のある方どうかご教授ねがいます。 *ひとつめに関しては: open (FILE, 'perl.txt') or die "$!"; while (my @array = <FILE>){ foreach (@array) { $count{ $_ }++ ; } @rank = sort { $count{ $b } <=> $count{ $a } } keys %count ; foreach (0..$#rank) { $kagi = $rank[ $_ ]; $kaisu = $count{ $kagi } ; print $_+1, "位:$kagi($kaisu 回)\n" ; } } のように書いたところで行き詰ってしまいました。 二つ目は: open (FILE, 'data.txt') chomp(@data = <FILE>) ; $i= 1 ; # 行番号を記憶する変数 for (@data) { # 各行に対して以下を繰り返す. # 各行の数値を配列の要素として記憶する. @list = split(/,/, $_) ; # サブルーチンを呼び出して,結果を表示 print "$i行目:" ; print "数値:",&cardinality(@list),"個," ; print "最大値:",&maximum(@list),"," ; print "最少値:",&minimum(@list),"," ; print "合計:",&summation(@list),"," ; print "平均:",&average(@list),"\n" ; # 行番号の更新 $i++ ; } とまで書き、もう何が何だか訳わからなくなってしまいました。

    • ベストアンサー
    • Perl
  • C言語のファイル出力について

    C言語のfprintfによるファイル出力について教えてください。 fprintfで、下記の例のように、上書きする行を指定することはできますでしょうか? 出力ファイルは.csv形式で、モードは問いません。 例:既に、sample.csvというファイルがあり、中身が、 0 0 0 1 1 1 2 2 2 とします。プログラムのfprintfで、3 3 3という出力を2行目に上書きし、 0 0 0 3 3 3 2 2 2 と変更する。 もし上記の方法をご存知でしたら、ご教授いただけましたら幸いです。 よろしくお願いいたします。

  • C++にて

    C++にて C++にてCSVファイルを読み込み、CSVファイル中のデータを修正するプログラムを作りたいのですが、どのようにすればよいのか分かりません。 解説をお願いいたします。

  • csvファイルのデータをCで読み込みたいのですが

    大学の研究でC言語を利用しています。 csvファイルの値を読み込んで計算したいのですが、読み込む方法(プログラム)が分かりません。 現在、csvファイルの値をテキストファイルにコピーアンドペーストし、それからCで読み込んでいます。 何かいい方法は無いでしょうか?

  • csvファイルでの出力について

    C言語初心者です。 プログラミングにおいて質問なのですが、csvファイルを読み込み、 そのデータを用いて計算し、csvファイルで出力するという問題なのですが、C言語においてcsvファイル形式で出力するにはどのような方法がありますか? 補足:ラベル行に全角文字を入力しないといけません。

専門家に質問してみよう