我如何确定数组的大小
How do I determine the size of an array?
因此,我正在尝试将用户输入字符串将其放入最大大小为50个字符串的数组中。每当用户输入"停止"时,我都希望循环停止,并在其中截止数组。
然后,我想将数组读回用户。我尝试运行此操作,并遇到了一个非常奇怪的错误。有人可以向我解释为什么这不起作用以及如何解决?谢谢。int main(int argc, const char * argv[]){
string array[50];
// Get's inputs for array
for(int i = 0; i < 50; i++){
cout << "Enter string: ";
getline(cin, array[i]);
if(array[i]== "stop"){
array[i] = " ";
break;
}
}
// Reads inputs from array
for(int i = 0; i < sizeof(array); i++){
cout << array[i] << "n";
}
return 0;
}
我不知道为什么我被投票如此艰难?
使用std::vector
来完成任务。它具有方法push_back()
,您可以在其中动态添加元素。另外,您可以通过调用vector.size()
轻松检查矢量的大小。
int main(int argc, const char * argv[]){
vector<std::string> array;
// Get's inputs for array
for(int i = 0; i < 50; i++){
cout << "Enter string: ";
string line;
std::getline(cin, line);
array.push_back(line);
if(array[i]== "stop"){
array[i] = " ";
break;
}
}
// Reads inputs from array
for(int i = 0; i < array.size(); i++){
cout << array[i] << "n";
}
return 0;
}
在您的代码中,您必须实现一个计数器,该计数器计数器,用户执行了多少输入。
通常您会使用向量,但是由于您尚未达到本书的那部分,我想他们希望您使用C风格阵列解决它。
您可以像这样获得C风格数组的长度
int size = (sizeof(array)/sizeof(*array)
,但由于您知道最多的条目数为50,并且在到达单词时必须停止,也许您宁愿这个
for(int i = 0; i < 50; i++){
if (array[i] == ' ')
break;
cout << array[i] << "n";
}
我刚刚实现了一个循环,以找出数组的时间。
// Determines how long the array is
for(int i = 0; i < 50; i++){
if(array[i] == " "){
break;
}
counter++;
}
相关文章:
- 遍历并行数组以确定C++中的最大数字
- C++线性搜索算法,确定数组中元素的数量
- 根据模板值确定的静态数组大小
- 尝试一次将单个字符读取到大小不确定的数组中
- 确定数组是否可以旋转 3 个连续的数组元素进行排序?
- 确定多维数组中的行大小和列大小
- 我是否能够确定在部署一个程序后发生了什么,我在数组末尾写入?
- 如何确定结构数组初始化的大小?
- 如何确定数组中的元素数量
- 使用 for 循环 c++ 确定与数组中特定频率匹配的值的函数
- 如何确定未知类型数组的索引是否为空
- 当数量小于初始化索引时确定数组中元素数的方法
- 对于具有固定运行时确定大小的数组,是否有标准C++类?
- 具有多维数组的索引范围之外的索引是不确定的
- 确定数组是否可以划分为两个子序列,每个子序列的顺序递增
- 定义不确定大小的数组
- 我正在尝试在字符数组的中间添加一个空格.不确定如何正确移动它
- C++如何确定元素是否存在于动态分配的数组中
- 数组的维度是在创建数组的那一刻确定的,以后不能更改的,这是真的吗?
- 使用数组来确定最小值