数组的第二个整数

array's second integer

本文关键字:整数 第二个 数组      更新时间:2023-10-16

这是我在这里编写的一个非常简单的程序,但遇到了问题。好吧,程序从文件中填充数组[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];

相关文章: