在带有连续数字的向量中查找数字

时间:2013-02-23 11:15:48

标签: c++ vector

首先,这是我高中的c ++课程,这是老师所做的,编译和构建时没有结果,没有显示

#include<iostream.h>
int main()
{
  int V[50],n,x,f,li,ls,m,i;

  cout<<"number of elements=";
  cin>>n;
  cout<<"x=";
  cin>>x;

  for(i=1;i<=n;i++)
  {
    cout<<"V["<<i<<"]=";
    cin>>V[i];
  }

  f=0;
  li=1;
  ls=n;

  while(li<=ls)&&(f==0);
  {
    m=(li+ls)/2;
    if(V[m]==x)
      f=1;
    else
      if(V[m]<x)
        li=m+1;
      else
        ls=m-1;
  }
  if(f==1)
    cout<<"the number is on position "<<m;
  else
    cout<<"the number is not in the vector";

  return 0;
}

我很抱歉我的英文不好

编辑:我forogot,他给我们的例子是:

V={ 5,5,5,6,7,7,8,8,8,9,10,10,25,25 }

x=10

1 个答案:

答案 0 :(得分:0)

  1. 标题导入应为#include <iostream>
  2. 标题后需要using namespace std,或使用std::coutstd::cin
  3. while表达式应为while((li<=ls)&&(f==0)) - 它必须是一个没有分号的表达式。让while(expr);创建一个不执行任何操作的循环 - ;计为空语句