私は経験豊富な博士課程の学生で、Javaでコーディングしていますが、C++を学ぼうとしています。txtファイルを読み込んでデータをソートするC++プログラム
私が解決しようとしている問題は、.txtファイルからデータを読み込んで、1つのファイルにすべての数値1000を出力し、別のファイルにすべて<を出力することです。
私が助けが必要なのは、実際にデータを読み込んで配列に保存するコードの部分を書くことです。データそのものは空白で区切られているだけで、新しい行のすべてではありません。私はC++に新しい単語をintとして認識させる方法が分かりませんので少し混乱します。私は
#include <iostream>
#include <string>
#include <fstream>
#include <cstring>
#include<cmath>
using namespace std;
int hmlines(ifstream &a) {
int i=0;
string line;
while (getline(a,line)) {
cout << line << endl;
i++;
}
return i;
}
int hmwords(ifstream &a) {
int i=0;
char c;
a >> noskipws >> c;
while ((c=a.get()) && (c!=EOF)){
if (c==' ') {
i++;
}
}
return i;
}
int main()
{
int l=0;
int w=0;
string filename;
ifstream matos;
start:
cout << "Input filename- ";
cin >> filename;
matos.open(filename.c_str());
if (matos.fail()) {
goto start;
}
matos.seekg(0, ios::beg);
w = hmwords(matos);
cout << w;
/*c = hmchars(matos);*/
int RawData[w];
int n;
// Loop through the input file
while (!matos.eof())
{
matos>> n;
for(int i = 0; i <= w; i++)
{
RawData[n];
cout<< RawData[n];
}
}
//2nd Copied code ends here
int On = 0;
for(int j =0; j< w; j++) {
if(RawData[j] > 1000) {
On = On +1;
}
}
int OnArray [On];
int OffArray [w-On];
for(int j =0; j< w; j++) {
if(RawData[j]> 1000) {
OnArray[j] = RawData[j];
}
else {
OffArray[j] = RawData[j];
}
}
cout << "The # of lines are :" << l
<< ". The # of words are : " << w
<< "Number of T on elements is" << On;
matos.close();
}
オンライン - さまざまなソースから持っているいくつかのコードをcanabalisedしている。しかし、それは容易になるだろう場合、私は正確に何をすべてコピーしたコードを理解していないとして、私は、再び全体を開始する開いていますやっている。だから私は必要なものを、要約すると、それは私ができるコンソールでのファイルパス オープン用のファイルを掲載して、1次元配列の要素として
を(スペースで区切って)各番号を保存
をTO-です私が必要としている方法でファイルを読むことができれば、実際の操作を自分自身で管理することができます。
どうもありがとうございました
あなたのコードをインデントすると、他の人がレビューしやすくなります。 –
'goto start' ahh! – Benj
あなたは私にこのコードを送ってもいいですか?@ [email protected] –