数组的第二个整数
array's second integer
这是我在这里编写的一个非常简单的程序,但遇到了问题。好吧,程序从文件中填充数组[2000],然后它应该TYPE(cout)数组[i]不等于数组的第二个成员。我不确定如何指向程序中数组的第二个成员。这是程序的一部分:
#include <iostream>
#include <fstream>
using namespace std;
const int N=2000;
int main() {
int* array;
array = new int[N];
for (int i=0; i<N; i++){
ifstream ifs("reals.txt");
ifs>>array[i];
}
for (int i=0; i<N; i++){
if(array[i] != array[1]) /// is this right? is array[1] second member?
cout<<array[i]<<'t';
if((i+1)%13) cout<<endl;
}
system("pause");
return 0;
}
如果我想检查数组最后一个元素中的第二个元素,情况会如何?
附言对不起我的英语。 如果您有什么不明白的地方,请随时发表评论,我会尽力解释。 提前谢谢。
array[1]
是第二个成员。但是,您的问题是每次在循环中重新打开文件:
for (int i=0; i<N; i++){
ifstream ifs("reals.txt");
ifs>>array[i];
}
您需要在循环之前打开文件:
ifstream ifs("reals.txt");
for (int i=0; i<N; i++){
ifs>>array[i];
}
for (int i=0; i<N; i++){
ifstream ifs("reals.txt");
ifs>>array[i];
}
应该是
ifstream ifs("reals.txt");
for (int i=0; i<N; i++){
ifs>>array[i];
}
if(array[i] != array[1])///这是对的吗? 数组[1] 是秒吗? 成员?
答案是肯定的。
数组 = 新 int[N];
不要忘记
delete[] array;
如果要访问 prelast 元素,可以在标准库中为您的数组提供一个插入式替换:
#include <vector>
int main(){
std::vector<int> array(1000);
array[998]= 42;
int prelast= *(array.end()- 2); // end() is an iterator to one-past the last element
}
是的,这是正确的,因为数组是基于0
的。例如,对于一个5 elements
数组,最后一个元素将是index 4 or array[4];
相关文章:
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 等待整个 omp 块完成,然后再调用第二个函数
- 我想在C++中读取一些多个字符,但它永远不会读取第二个字符
- 如何在创建自定义迭代器时获得 std::p air 的第一个和第二个?
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 将第二个 GATT 服务添加到 Movesense 容器
- 如何在 c++ 中根据第二个元素按降序对列表进行排序
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 比较 2 个向量并从第二个向量中删除在第一个 - c++ 中找不到的元素
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- 使第二个类的构造函数成为第一个类中的友元函数
- 为什么第二个代码给出了预期的结果,而第一个代码却没有?
- 为什么第一个代码块产生垃圾值,而第二个代码块将类成员的值相加?
- 打印无序映射的第二个元素,即集合
- 我有一个类,它创建了另一个类的实例.如何将变量通过第一个类传递到第二个类的实例化中?
- 第一个和第二个数字之间能被 4 和 6 整除的所有整数的总和
- 在 c++ 中给出两个整数向量(大小和类型相同),我想从最小到最大元素对一个进行排序,并更改第二个向量的顺序
- 数组的第二个整数
- 获取 4 位整数的倒数第二个值
- 使用getline()从文件中读取第二个整数