2

以前にも投稿しましたが、とても参考になる回答がありました。人の情報 (ID、年齢など) をテキスト ファイルから別の配列に読み込む必要があります。レコードは次のようになります 2012317109 Jamie Carles Smith Male 65 (さまざまな情報はタブで区切られ、改行で終わる行)

ただし、ID 番号に関しては、抽出演算子 (<<) を使用して、ID 番号を文字列ではなく整数として取得するように指示されています。

次に、これらのレコードをアルファベット順の文字列順に並べ替えて、出力ファイルに配置する必要があります。

これまでのところ、私は次のものを持っています。どのように進めればよいですか?マップやベクトルを使用するのではなく、配列を使用する必要があります。

#include <iostream>
#include <fstream>
using namespace std;

void  selection_sort( double x[],  int  length)
{   
    int  i,  j,  k;
    double  t;

    for  (i=0;  i<length-1;  ++i)  {        
        k = i;       //find next smallest elm, x[k]

        for  (j=i+1;  j< length;  ++j)
            if  (x[k] > x[j])  k = j;

        //swap x[i] with x[k] 
        t = x[i];   x[i] = x[k];  x[k] = t;   
    }
}


int main () {

    ifstream fin;
    ofstream fout;

    fin.open("input.txt");
    fout.open("output.txt");

    if (fin.fail()) {
        cout << "Fail to open inout.txt" << endl;
        exit(1);
    }

    struct row{string ID, name, rest;};

    int x; 

    fout << x << endl;

    row *rows=new row[x];

    for (int i=0; i<x; ++i) {
        getline (fin, rows[i].ID,   '\t'); // ID
        getline (fin, rows[i].name, '\t'); // name
        getline (fin, rows[i].rest      ); 
    }

    selection_sort (row[], x); 
//complier error this line: expected primary expression before [ token.

}
4

1 に答える 1