如何在 C++ 中填充数组?
How do I populate an array in C++?
好吧,我有一个只有 2 行逗号分隔的双精度文本文件。情况总是如此。每行都必须进入其自己单独的双精度类型数组,稍后我将不得不使用线性搜索在另一个数组中找到一个数组。
文本文件示例:
2.5,6.7,3.4,7,6.7,6,4,5,83.6
6.4,7,8,5.3,9,76
到目前为止,我已经设法提取第一行,删除定界符并将其从字符串转换为双精度类型,但我很难将其放入数组中。
我尝试过使用 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;
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() 只有相关 after 阅读
第三 - 你需要一个指向数组 运行 的索引,所以我添加了随着循环递增的 I,但我没有检查它是否比你的数组长度更重要,所以如果它 relevet 添加一个检查到.
#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;
}
好吧,我有一个只有 2 行逗号分隔的双精度文本文件。情况总是如此。每行都必须进入其自己单独的双精度类型数组,稍后我将不得不使用线性搜索在另一个数组中找到一个数组。 文本文件示例:
2.5,6.7,3.4,7,6.7,6,4,5,83.6
6.4,7,8,5.3,9,76
到目前为止,我已经设法提取第一行,删除定界符并将其从字符串转换为双精度类型,但我很难将其放入数组中。 我尝试过使用 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;
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() 只有相关 after 阅读 第三 - 你需要一个指向数组 运行 的索引,所以我添加了随着循环递增的 I,但我没有检查它是否比你的数组长度更重要,所以如果它 relevet 添加一个检查到.
#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;
}