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

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

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

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

Q&A

2回答

470閲覧

c++ sort ファイル

_._._ami

総合スコア26

C++

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

0グッド

0クリップ

投稿2020/08/09 08:06

編集2020/08/10 08:20

名前,年齢,所在地が1行ずつ書かれているのでそれを読み込んで名前順に並べ替え,名前が同じ場合は年齢順,年齢も同じなら所在地順というふうにしたいのですが, ソートの仕方が分からないです.

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

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

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

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

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

episteme

2020/08/09 08:25

> できればソート関数を使わずにクラスmArrayを完成させたいです. なんで?
_._._ami

2020/08/09 08:32

学校の先生にクラスの練習のためにmArrayを実装するようにと言われました
episteme

2020/08/09 09:59

未完成にも程があります。限りなく丸投げ。
_._._ami

2020/08/09 16:20

すみませんでした。がんばります。
guest

回答2

0

C++

1#include <iostream> 2#include <string> 3#include <algorithm> 4#include <vector> 5#include <tuple> 6#include <fstream> 7 8using cPerson = std::tuple<std::string,int,std::string>; 9using mArray = std::vector<cPerson>; 10 11std::ostream& operator<<(std::ostream& os, const cPerson& b){ 12 return os << std::get<0>(b) << " " << std::get<1>(b) << " " << std::get<2>(b); 13} 14 15std::istream& operator>>(std::istream& is, cPerson& b){ 16 return is >> std::get<0>(b) >> std::get<1>(b) >> std::get<2>(b); 17} 18 19int main(){ 20 using namespace std; 21 22 mArray ary; 23 24 ifstream ifs("12th.in"); 25 if ( !ifs.is_open() ) { return -1; } 26 27 cPerson person; 28 while ( ifs >> person ) { 29 ary.push_back(person); 30 } 31 32 // 標準ライブラリのsortを使った 33 // ココを自前で実装すればいい。 34 sort(ary.begin(), ary.end()); 35 36 // 確認のため、ファイルではなくcoutに出力 37 for ( const auto& item : ary ) { 38 cout << item << endl; 39 } 40}

投稿2020/08/09 10:15

episteme

総合スコア16612

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

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

_._._ami

2020/08/09 16:21

回答ありがとうございました!!実行できました! sortのところがんばってみます。
guest

0

C++

1 while(getline(ifs,name)){ 2 3 mArray aB; 4 aB.sort(); 5 6 ofs << name << " " << age << " " << location << "\n"; 7 }

これのどこがソートなのか、説明していただけませんか?

投稿2020/08/09 08:18

episteme

総合スコア16612

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

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

_._._ami

2020/08/09 08:31

mArrayの中にvoid sortでsort()を実装?したのでaB.sort()でソートできると思っていました...!
episteme

2020/08/09 09:38

sortになってないやん。
episteme

2020/08/09 10:01

...意味もなく高評価する阿呆がいるな。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問