如何从数组中间开始循环

  • 本文关键字:开始 循环 中间 数组 c++
  • 更新时间 :
  • 英文 :


有一个给定的伪代码。

int Function(X : array[P..Q] of integer)

1 maxSoFar = 0

2 for L = P to Q

我正在使用C,并试图将其更改为C++代码。

我之所以挣扎于此,是因为我不知道如何在循环中从"p"开始表达。即使没有参数,我也不知道如何在初始化之前做到这一点。

int  Function(vector<int> X)
{
int maxSoFar = 0;
for (int I = 0; I < X.size(); I++) ;
}

这就是我所做的。我想知道它和伪代码是否相同。

您可以将向量大小除以2:

#include <vector>
#include <iostream>
using namespace std;
int  f(vector<int> v) {
int maxSoFar = 0;
int len = v.size();
for (int i = len / 2; i < len; i++) { // i = len / 2, starts from the middle
maxSoFar += v[i];
cout << v[i] << ' ';
cout << maxSoFar << endl;
}
}
int main(void) {
vector<int> v = {1, 3, 5};
f(v);
}

输出:

3 3
5 8

您应该仔细查看维基百科上的for循环:for (initialization; break condition; incrementation)

#include<iostream>
using namespace std;
int main()
{
int i,n;
cout<<"enter the number of elements : ";
cin>>n;
int a[n];
cout<<endl<<"enter the value of this array : ";
for(i=0;i<n;i++)
{
cin>>a[i];
}
cout<<endl<<"print the last half elements of this array : ";
for(i=(n/2);i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}

最新更新