0

こんにちは、私は演習で立ち往生しています.txtファイルを作成してランダムな整数で埋め、ファイルを配列に読み取ってソートし、別のファイルに出力する必要があります。これまでのコードは次のとおりです。

 #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
using namespace std;

int main()
{
int *A;
int numbers,lines=0;
srand(time(0));

ofstream myfile;

myfile.open("integers.txt");

if (myfile.fail())
   {
      cout << "Error";
      return 1;
   }

cout<<"\nHow many numbers the file contain : ";
cin>>numbers;
cout<<"\n";


if(myfile.is_open()){

for (int i = 0; i < (numbers-1); ++i) {

myfile << rand()%100 <<"\n";
}
}
A=new int[lines];

ifstream myfile1;
myfile1.open("integers.txt");
 if(myfile1.fail())
    {
      cout << "Error" << endl;
      return 1;
    }

while (!myfile1.eof())
    {
        myfile1 >> A[lines];
        lines++;
    }
    for(int k=0;k<lines;k++)
        cout<<A[k]<<endl;

myfile.close();



return 0;

}

したがって、問題はファイルの内容を配列に読み取る方法です。ファイルを読んだ後に配列を印刷するたびに、出力はがらくたです.Googleで検索してさまざまな解決策を見つけましたが、どれも適切に機能していないようです.誰かが私の間違いを教えてもらえますか?

4

1 に答える 1

0

ゼロに初期化されているため、ここで長さゼロの配列を作成したようですlines

この行:

A=new int[lines];

おそらく次のようになります。

A=new int[numbers]
于 2012-11-29T20:05:59.220 に答える