簡體   English   中英

如何在 C++ 中填充數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM