C++ 中的向量下标超出范围错误

2024-01-06

我正在尝试编写一个程序,它接受 n 个整数的输入,并找出给定输入中出现次数最多的那个。我正在尝试为 t 种情况运行该程序。 为此,我实现了一种类似计数排序的算法(可能有点天真),它计算输入中每​​个数字出现的次数。如果有多个数字具有相同的最大出现次数,我需要返回其中较小的一个。为此,我实现了排序。
我面临的问题是,每次我在 Visual C++ 上运行程序时,都会收到一条错误消息,提示“向量下标超出范围”。在 Netbeans 下,它生成返回值 1 并退出。请帮我找出问题所在

   #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <vector>


using namespace std;

int findmax(vector<int> a, int n)
{
    int i,ret;
    ret = 0;
    for ( i = 0; i <n; i++)
    {
        if (a[i] > ret) {
                ret = a[i]; 
        }
    }
    return ret;
}


int main() {
    int i = 0, j = 0, k = 0, n,m,r1,r2;
    vector<int> a;
    int t;
    vector<int> buff;

    cin>>t;
    while(t--) {

        cin>>n;
        a.clear();
        buff.clear();
        for ( i = 0; i < n; i++) {

            cin>>a[i];
        }

        sort(a.begin(),a.end());
        m = findmax(a,n);
        for ( j = 0; j < m+1; j++) {
            buff[a[j]] = buff[a[j]] + 1;
        }
        k = findmax(buff,m+1);

        for ( i = 0; i < m+1; i++) {
            if (buff[i] == k) {
                 r1 = i;
                 r2 = buff[i];
                 break;
            }
        }

        cout<<r1<<" "<<r2<<endl;
    }
    return 0;
}

After a.clear()该向量没有任何成员,其大小为 0。

添加呼叫至a.resize(n)使其达到合适的尺寸。您还需要调整大小buff到任何需要的尺寸。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的向量下标超出范围错误 的相关文章

  • C# SmtpClient编程中如何设置带有中文的附件文件名?

    我的代码如下 ContentType ct new ContentType ct MediaType MediaTypeNames Application Octet ct Name 这是一个很长的中文文件名希望能用它在附件名中 Doc A
  • 格式说明符%02x

    我有一个简单的程序 include
  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • 如何使用 openSSL 函数验证 PEM 证书的密钥长度

    如何验证以这种方式生成的 PEM 证书的密钥长度 openssl genrsa des3 out server key 1024 openssl req new key server key out server csr cp server
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • Python Socket 接收/发送多线程

    我正在编写一个Python程序 在主线程中 我使用recv函数连续 循环 通过TCP套接字接收数据 在回调函数中 我使用 sendall 函数通过同一套接字发送数据 什么触发回调是无关紧要的 我已将套接字设置为阻塞 我的问题是 这样做安全吗
  • 从 jersey 迁移到 spring-mvc/rest:ContainerRequestFilter、ContainerResponseFilter

    由于业务需求 我需要从 jersey 迁移到 spring mvc rest 我正在 spring mvc 中搜索相当于 jersey 的东西ContainerRequestFilter ContainerResponseFilter 有任
  • 访问 Oracle Forms/OC4J 中的 URL 参数

    如何访问通过 URL 传递到 Oracle 表单的参数 例如给定网址 a form p1 某事 p2 其他 这将使用 cust 配置启动 a form 表单 但我无法了解如何 或者即使可能 访问p1 值为 something p2 值为 e
  • 如何在数据表中添加图像?

    如何在数据表中添加图像 我尝试了以下代码 Image img new Image img ImageUrl images xx png dr dt NewRow dr column imgdw 但它显示文字System Web UI Web
  • Python Rijndael 加密

    我正在尝试模仿 Rijndael AES 加密http www hanewin net encrypt aes aes test htm http www hanewin net encrypt aes aes test htm在Pytho
  • 会话锁定导致 ASP.Net 网站速度缓慢

    我刚刚发现 ASP Net Web 应用程序中的每个请求都会在请求开始时获取会话锁 然后在请求结束时释放它 如果您像我一开始一样不明白这其中的含义 那么这基本上意味着以下内容 任何时候 ASP Net 网页需要很长时间才能加载 可能是由于数
  • Play Framework 2.0.1 DateFormatter 接收系统区域设置

    我在 Play 2 0 Java 中编写了一个自定义 DateFormatter 因为默认的 DateFormatter 似乎是 i18n 不支持的 实现细节与此处无关 public class DateFormatter extends
  • C# 中用于语音认证的互相关和 FFT

    这是与其他问题类似的问题 但不是重复的问题 但是 我仍然无法得到正确的结果 我基本上试图记录两个 Wav 文件 1 基本文件 2 临时文件 然后将其转换为字节并传递给 Aforge FFT 然后传递给相关性 很少有混乱 当我录制文件时 我使
  • 从 TypeScript 声明全局命名空间变量

    如何从打字稿中显式声明全局命名空间中的变量 我需要编译器生成以下 JavaScript 代码 MyExtension someFunction 不幸的是 我只能让它生成 var MyExtension someFunction 这涉及到最新
  • C 中对“main”的未定义引用

    您好 我在使用 gcc 编译 c 代码时遇到以下错误 usr lib gcc x86 64 redhat linux 4 4 6 lib64 crt1 o In function start text 0x20 undefined refe
  • MS SQL 异常:“@P0”附近的语法不正确

    我正在使用 MS SQL 查询数据库 由于某种原因 我收到以下错误 com microsoft sqlserver jdbc SQLServerException Incorrect syntax near P0 即使这个 P0 不在我的语
  • 将数据插入文本文件

    我想在文本文件中的某些位置插入数据 而不实际覆盖现有数据 我有两个文本文件 one txt 文件有 1000 行 two txt 文件有 10000 行 我想读取 one txt 文件内容并插入 two txt 文件内容的前1000行 将
  • 合并 2 个对象数组

    让我们看一个例子 var arr1 new Array name lang value English name age value 18 var arr2 new Array name childs value 5 name lang v
  • vue-template-compiler/package.json 每个新项目都缺少模块

    目前 我从linux切换到windows 开始创建编程环境 我不记得linux上有类似的问题 但重点是 1 安装的 Node js2 npm install g vue cli用于 CLI 安装3 vue create my app 4 n
  • JFileChooser - 多个文件过滤器?

    我对 Swing 中的 JFileChooser 有疑问 我试图在下拉框中获取多个文件扩展名 但不知道该怎么做 有方法 extFilter FileNameExtensionFilter description extensions 然后我
  • 可移植类库不支持System.IO,为什么?

    我创建了一个便携式类库用于我的Monodroid项目 但问题是我需要系统IO库 但不幸的是我无法添加它 我什至尝试通过 添加引用 选项来添加它 但这是徒劳的 为什么会发生这样的事 我该怎么做 你不能使用System IO因为它不是一个可移植
  • 在服务层或存储库层管理事务?

    我有一个特定的场景 其中基于某些约束在多个表上完成插入和更新 因此很自然地在这些场景中使用事务范围 现在 我有一个存储库层和一个服务层 服务层调解存储库和 UI 并且始终处于无知状态 现在我很困惑在服务层或存储库层中的何处使用事务 我没有使
  • Facebook Sdk 尚未初始化 FacebookSdk.sdkInitialize()

    嘿 我知道以前有人问过这个问题 但似乎没有一个解决方案有帮助 我在我的应用程序中第一次使用 Facebook SDK 我尝试过的 我已经尝试过大部分在Internet但没有得到任何关于此事的信息 这是我的 MainActivity java
  • Qt 为什么不使用异常处理?

    我一直想知道 由于 Qt 以一种美妙且创新的方式使用了标准中的几乎所有 C 功能 并且每当它不使用特定功能时 它都有一个完全有效且适用的理由不这样做 在这种情况下 为什么没有 Qt 类使用throw关键字和throw有什么例外吗 他们从不要
  • C++ 中的向量下标超出范围错误

    我正在尝试编写一个程序 它接受 n 个整数的输入 并找出给定输入中出现次数最多的那个 我正在尝试为 t 种情况运行该程序 为此 我实现了一种类似计数排序的算法 可能有点天真 它计算输入中每 个数字出现的次数 如果有多个数字具有相同的最大出现