[英]How do I populate an array in C++?
好的,所以我有一個文本文件,其中只有 2 行以逗號分隔的雙精度。 情況將永遠如此。 每行都必須將 go 放入其自己的 double 類型的單獨數組中,稍后我將不得不使用線性搜索在另一個數組中找到一個。 文本文件示例:
2.5,6.7,3.4,7,6.7,6,4,5,83.6
6.4,7,8,5.3,9,76
到目前為止,我已經設法提取第一行,刪除分隔符並將其從字符串轉換為 double 類型,但我很難將它放入數組中。 我嘗試過使用 while 循環、for 循環(有時是嵌套的),但它們都不起作用。 我知道有一個簡單的解決方案,但我似乎無法掌握它或 arrays 的概念。
我能夠編碼的最遠(不搞亂)就是簡單地顯示它。 但我需要它在一個數組中。 我的代碼如下。 先感謝您。
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main ()
{
double array[10];
int count = 0 ;
string values;
int I =0;
ifstream inputfile.open("numbers.txt");
if (!inputfile.is_open())
{
cout<<"error opening file"<<endl;
}
if (inputfile.good())
{
string line;
string num;
getline(inputfile,line);
values= slime;
string stream ss(values);
while (getline (ss,num ,','))
{
cout<<stod(num)<<" ";
//HOW DO I PUT THIS INTO THE ARRAY INSTEAD PLEASE??
}
}
inputfile.close();
return 0;
}
幾件事 - 一個嘗試不使用using namespace std第二個 - 你檢查inputfile.good()只有在閱讀第三個之后才相關 - 你需要一個索引來運行數組所以我添加了 I 與循環一起增加,但我沒有t 檢查它是否比你的數組長度更多,所以如果它重新添加一個檢查。
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main ()
{
double array[10];
int count = 0 ;
string values;
int I =0;
ifstream inputfile.open("numbers.txt");
if (!inputfile.is_open())
{
cout<<"error opening file"<<endl;
}
string line;
string num;
getline(inputfile,line);
values= slime;
string stream ss(values);
int i=0;
while (getline (ss,num ,','),)
{
cout<<stod(num)<<" ";
array[i] = stod(num);
++i;
}
inputfile.close();
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.