• ベストアンサー

visualC++について

visualC++についてです。 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 のように記述されているファイルのデータを h[]={1,7,4} v[]={2,8,5} d[]={3,9,6} x[]={4,1,7} y[]={5,2,8} z[]={6,3,9}のように ファイルのデータの縦の列を それぞれの配列に別々に入れたいのですが どのような関数を使えばいいのですか? またfileopenは使えない環境になっていますので それ以外の方法をご存知のかたいらっしゃいましたら、 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pyonmae
  • ベストアンサー率64% (40/62)
回答No.2

格納に関しては、配列をh、v、d・・・と別々にせず、2次元配列にしてループを工夫すれば簡単ではないでしょうか。 どうしても別々に、というならこんな風にして見せかけるとか。 int *h,*v,*d・・・ int value[6][3]; h = value[0]; v = value[1];   ・   ・   ・ fileopenが使えない云々については、No.1さんと同様です。 ファイルを読むにはまず開かないといけません。 CreateFileなら使えるという事・・・?

その他の回答 (1)

回答No.1

あまりにも抽象的すぎて、どう回答すればいいかわかりません。 VC++とありますが、 C言語ですか?C++言語ですか? Windowsフォームアプリケーション開発ですか? コンソールアプリケーションですか? fileopen関数を使えないということは、WIndows依存プログラムでは ないということですか? (C言語標準ライブラリに、fopen関数がありますよ)

関連するQ&A

  • エクセルの配列関数の制限について

    エクセルの配列関数の制限について V列にX列・Y列・Z列・AA列・AB列・AC列・AE列・AG列・P列を参照した配列関数を 下のように入力しています。 {=SUM((Y$1:Y$500=F7)*(Z$1:Z$500=H7)*(AA$1:AA$500)*(P7="○"),(AB$1:AB$500=F7) *(AC$1:AC$500=H7)*(AE$1:AE$500=H7)*(AG$1:AG$500)*(P7="×"))} このY列・Z列・AA列・AB列・AC列・AE列・AG列は、ぞれぞれ200行くらいしか 文字が入力されていない場合には、配列関数の結果がうまく表示されました。 これらのセルの200行以降から300行・400行と項目を増やしていったところ、 配列関数の結果がうまく表示されないセルが出てきました。 これは、配列関数の参照するセルに制限があるということでしょうか?

  • VisualC++

    現在VisualC++6.0を使いC++言語を勉強しています。 あるテキストファイルを読み込んでそのファイルの中の文字列を 数字と英文字を切り分けて一行ずつ表示するプログラムを作りたいのですがどうやって切り分ければよいのかわかりません。(テキストファイルは英文字と数字のみで構成されていることを前提) 一行ずつ表示するのはfgets関数を使えばいいと思うのですが 切り分けの作業がどうも上手いこといきません。 一文字ずつ読み込んでその文字がA~Zの中にあれば 切り分ければと思い試してるのですが上手いこといきません。。 教えてください。

  • Excelのmatch関数の2次元版はありますか?

    Excelで、横にx(0.00~1.00)、縦にy(0.00~1.00)を等間隔(0.01)で入れて2変数関数値zの表を作っているのですが、 この中でzの最大値を与えるx,yを求めたいです。(zの最大値自体はMAX(H15:DD115)というように求まる) match関数というものがあるのは分かったのですが、これだけだと1次元配列しか検索できないようなのですが、2次元で求めるzが入っている。x,yのオフセット(あるいはセル番地)を求める方法はありますか?

  • VisualC++

    ファイルから読み込んだ値を取り込み図形を書く方法をしりたいです。 X2Y7B21D2 F4X8Y9S21 C2E2X0YF0 のファイルから X2 Y7 X8 Y9 X0 Y0 を取り出して LineToで直線を書く方法です。この場合(2,7)から(8,9)をとおり(0,0)に 向かう直線になります。

  • 3次元配列から2次元配列に

    3次元配列のデータを2次元配列に移すにはどのように したらよいのでしょうか.とりあえず下記のように考えてみましたが. data3[500][500][4000]; //3次元配列 data2[500][500]; //2次元配列 for(y=0; y<500; y++) for(x=0; x<500; x++){ for(z=0; z<4000; z++){ data2[y][x] = data3[y][x][z]; } } } これでいいのでしょうか?

  • 複素微分について

     複素関数   f(z) = u(x,y) + iv(x,y) ・・・・・ u≠0、v≠0 は、2つの実数関数 u と v の組で表されるので、実数で微分したり積分したりすることはできると思いますが、   g(z) = u(x,y) ・・・・・ v = 0   h(z) = iv(x,y) ・・・・・ u = 0 は C-R の方程式を満たさないから、h や g を複素数で微分することは不可能なのですよね?  つまり、実関数を複素関数の一部と見なしても、実関数を複素数で微分することはできないと考えてよいかということです。  あんまり当たり前のことなのか(笑)、私が持っている2つの複素関数の本にはその類いの説明はありません。

  • ローレンツ変換について

    昨日も質問した者ですがまた調べてもわからないことがあったので質問します。 何度もすみません。 特殊相対論で、慣性系SとSに対してx軸正の方向に一定の速さvで運動している慣性系S’を考えてローレンツ変換を導出する場面なんですけど、、、 「このとき、xy平面とx’y’平面、xz平面とx’z’平面は常に一致したままであるから、z=0ならばz’=0、y=0ならばy’=0がx、tに関係なく成り立つ。 そのためには、任意のy、zに対して y’=k(v)y、z’=k(v)z が成立している必要がある」 とあるんですが、なぜkがvの関数となっているのかがわかりません。さらに、仮にvの関数だとしても、なぜvのみの関数でその他には依存しないのかがわかりません。。 いろいろ調べてみたのですが、当たり前みたいな記述ばかりで具体的にかいてあるものはありませんでした。 どなたか教えていただけませんか?お願いします。

  • visual basic6.0でのテキストファイルからの読み込みについて。

    vb初心者です。 数値をテキストファイルに保存しています。その数値は、x方向に10個、y方向に3個、つまり10列3行の数値を保存しています。 そのデータを2次元配列 D(x,y)として読み込みたいのです。 for x=0 to 9, for y=0 to 2 と範囲を指定して、数値全部を読み込むときは、D(x,y)の値は正しく入っているのですが、 ある範囲だけを読み込みたいとき、たとえば for x=0 to 5, for y=0 to 1 としたとき、D(x,y)は別の数値が読み込まれてしまいます。 これは、テキストファイルの数値が配列になっていないということですよね?? どうすれば、テキストファイルの数値を2次元配列として読み込むことができるのでしょうか? 文章が解りにくくてごめんなさい!!よろしくお願いします! 

  • perlで列の抜き出し

    a,b,c,d 1,2,3,4 5,6,7,8 以上のような配列のデータを読み込んだときに、 c 3 7 のように縦の列のデータを抜き出すプログラムを考えています。 これはどのように記述すればよいでしょうか。 二次元配列はperlでは不可能と言うことであまりperlでは難しいでしょうか。

  • VisualC++6.0 で アイコンのドラッグ&ドロップ

     デスクトップ上のデータファイルアイコンを 実行ファイルにD&Dして起動し、起動したプログラムから データファイルのフルパスを得たいと思っています。  VisualC++6.0を使用して、ダイアナログベースで 作成しています。DragAcceptFiles、OnDropFiles 等を使うと思うのですが、使い方が分かりません。  初心者ですがよろしくお願いします。

専門家に質問してみよう