小王coding中 2022-03-16 22:30 采纳率: 100%
浏览 981
已结题

c++报错初始值设定项治太多

#include

using namespace std;

const int N = 1e6 + 10;

int n;
int a[N];

bool binarySearch(int a[], int x, int left, int right, int &i, int &j) {

cin >> x;

while (left < right) {
    int mid = left + right >> 1;
    if (a[mid] >= x) right = mid;
    else left = mid + 1;
}

if (a[left] != x) {
    i = left - 1;
    j = left;
    return false;
}

else {
    i = j = left;
    return true;
}

}

int main() {

cin >> n;
for (int i = 0;i < n;i++) cin >> a[i];

int x, i, j;

bool binarySearch(a, x, 0, n - 1, i, j);

cout << "("<< i <<","<< j << ")";
return 0;

}

  • 写回答

1条回答 默认 最新

  • yun6853992 2022-03-16 22:59
    关注

    代码逻辑不关注的话,至少编译不报错:
    能看出你是不了解每行代码干嘛,不理解代码的含义直接在抄代码吧。
    全局变量的使用,函数调用的方式,函数传参的方式,更多的是你的笔误问题。
    太基础,然后可能也是笔误比较多,你再调一下,然后思路有不懂的可以问。

     
    #include <iostream>
    #include <memory>
    using namespace std;
    
    const int N = 1e6 + 10;
    
    int n;
    int a[N];
    
    bool binarySearch(int a[], int x, int left, int right, int& i, int& j) {
        cin >> x;
    
        while (left < right) {
            int mid = left + right >> 1;
            if (a[mid] >= x) right = mid;
            else left = mid + 1;
        }
    
        if (a[left] != x) {
            i = left - 1;
            j = left;
            return false;
        }
    
        else {
            i = j = left;
            return true;
        }
    }
    int main()
    {
        cin >> n;
        for (int i = 0; i < n; i++) 
            cin >> a[i];
    
        int x, i, j;
    
        binarySearch(a, n, 0, n - 1, i, j);
    
        cout << "(" << i << "," << j << ")";
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月21日
  • 已采纳回答 3月17日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测