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

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

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

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

3853閲覧

出力ファイルへの書き込みとは?

ristori

総合スコア17

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/02/18 02:44

下のコードの中で入力用、出力用にファイルを開いています。「処理に用いるデータを入力ファイルから読み込み、結果を出力用ファイルに書き出す様にプログラムしなければならない」のですが、以下2つの点が分かりません。
class Vector2Dは別ファイルですがこの質問には多分関係ないので省略します。

•出力用ファイルに書き出すとはどういう意味が分からない
•どのように書き直せばよいのか分からない

解答お願いいたします。

lang

1#include <iostream> 2#include "Vector2D.h" 3#include <cmath> 4#include <fstream> 5#include <vector> 6#include <algorithm> 7using namespace std; 8 9class lesserX{ 10public: 11 bool operator()(const Vector2Df& a,const Vector2Df& b){ 12 return (a.x*a.x)+(a.y*a.y)<(b.x*b.x)+(b.y*b.y); 13 }}; 14 15int main(){ 16 float a,b; 17 int i=0; 18 vector <float> p,q; 19 ifstream fin("points.dat"); 20 ofstream fout("out.dat"); 21 while(cin>>a>>b){ 22 p.push_back(a); 23 q.push_back(b); 24 i++; 25 }; 26 27Vector2D <float> dot[i]; 28for (int j= 0; j < i; j++) 29 { 30 dot[j].set(p[j],q[j]); 31 }; 32 sort(dot,dot+i,lesserX()); 33 34 cout<<"median:"<<dot[i/2].x<<" "<<dot[i/2].y<<endl; 35 for (int t = 0; t < i; t++) 36 { 37 cout<<dot[t].x<<" "<<dot[t].y<<" length:"<<dot[t].length()<<endl; 38 } 39 40 41}

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

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

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

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

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

guest

回答2

0

ベストアンサー

出力用ファイルとはout.datのことですね。
ofstreamfoutを使って、out.datにデータを書きだすということです。

細かいフォーマット指定が不要であれば、coutの場合と同様に<<を使って出力すれば良いと思います。

lang

1fout << "abc"; 2fout.close();

参考URL:
C++入出力


(追記)

p,qvectorを使っているので、こちらもvectorを使った方が良いと思います。
vector<Vector2D<float> > dot(i);

投稿2015/02/18 03:02

編集2015/02/18 06:33
argius

総合スコア9388

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

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

ristori

2015/02/18 05:38

ありがとうございます。おかげでfoutについては解決致しました。
guest

0

これで行けると思います。

lang

1 Vector2D <float> *dot = new Vector2D <float>[i];

投稿2015/02/18 06:15

shinosan

総合スコア209

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

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

ristori

2015/02/18 13:13

ありがとうございます。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問