如何在C ++中填充数组?

问题描述 投票:0回答:1

好,所以我有一个文本文件,其中只有两行以逗号分隔的双打。情况总是如此。每行都必须进入其自己的单独的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循环(有时是嵌套的),但是它们都不起作用。我知道应该有一个简单的解决方案,但我似乎无法掌握它或数组的概念。

我能够(不弄乱)进行编码的最大方式就是简单地显示它。但是我需要一个数组。我的代码如下。预先谢谢你。

#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;
get line(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;
}
c++ arrays double text-files populate
1个回答
0
投票

少量内容-一种尝试不使用using namespace std秒-您仅检查inputfile.good()相关的after读数第三-您需要一个索引来在数组上运行,所以我在循环中添加了增量I,但是我没有检查它是否比数组长度更重要,因此是否放弃了对它的检查。

#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;
}
© www.soinside.com 2019 - 2024. All rights reserved.