C++ 读取数组格式输入
请您帮助获取以下格式的输入:C++ 读取数组格式输入,c++,arrays,input,C++,Arrays,Input,请您帮助获取以下格式的输入: {1,2,3,4} 并将其转换为带整数的数组 int * ns = new int [n]; cin >> ns; 这是行不通的。我应该如何更改它?使用名称空间std; using namespace std; typedef istream_iterator<int> It; vector<int> v; copy(It(cin), It(), back_inserter(v)); typedef是流迭代器
{1,2,3,4}
并将其转换为带整数的数组
int * ns = new int [n];
cin >> ns;
这是行不通的。我应该如何更改它?使用名称空间std;
using namespace std;
typedef istream_iterator<int> It;
vector<int> v;
copy(It(cin), It(), back_inserter(v));
typedef是流迭代器;
向量v;
复制(It(cin),It(),back_inserter(v));
您需要逐个读取元素并将它们存储到数组中
int aNoOfElements = 0;
cin >> aNoOfElements;
int *anArray = new int[ aNoOfElements]; //allocate memory to hold aNoOfElements
for( int i = 0; i < aNoOfElements; i++ )
{
cin >> anArray[ i ]; // Read each input
}
int-anoofements=0;
cin>>其他元素;
int*anArray=新的int[其他元素]//分配内存以保存其他元素
for(int i=0;i<其他元素;i++)
{
cin>>数组[i];//读取每个输入
}
您需要解析输入。将输入作为字符串,然后检查格式是否符合您的要求。您可以使用的算法:
请告诉我,如果你发现了一个错误因为它是C++,答案的第一部分是“使用<代码> STD::向量< /代码>而不是<代码> new int [n] < /代码>”不,用户输入了你可以读取我所使用的函数的文档。它只是将std::cin中的所有s复制到向量中。当然,OP对输入要求不是很清楚……他/她应该更详细地解释如何使其支持逗号。或者完全用另一种方式写!我已经试过密码了。它读取元素,直到从标准输入输入非数字、非\n字符。例如,如果我键入
12\n34\n56\n,
,v将包含{12,34,56}编辑:CTRL+D
也可用于终止输入。