首页 > 其他分享 >错误

错误

时间:2024-11-14 13:19:03浏览次数:1  
标签:jiang 读取 错误 int cin ++ getline

你的代码有一个小问题,可能会导致输入读取不正确。具体来说,在读取 n 和 m 之后,使用 getline 来读取每一行数据时,可能会遇到一个问题:cin >> n >> m; 之后,输入缓冲区中可能还残留一个换行符,这会导致第一次调用 getline 时读取到一个空行。

为了解决这个问题,你可以在读取 n 和 m 之后,添加一个额外的 getline 调用,以消耗掉这个换行符。以下是修正后的代码:

cpp

include <bits/stdc++.h>

using namespace std;

int main() {
int n, m;
cin >> n >> m;
cin.ignore(); // 忽略掉 cin >> n >> m 后的换行符

vector<vector<int>> jiang(n, vector<int>(m, 0));
for (int i = 0; i < n; ++i) {
    string a;
    getline(cin, a);
    for (int h = 0; h < m; h++) {
        jiang[i][h] = a[h] - '0'; // 假设输入是数字字符,需要转换为整数
    }
}

// 输出矩阵以验证输入
for (int i = 0; i < n; ++i) {
    for (int h = 0; h < m; h++) {
        cout << jiang[i][h] << " ";
    }
    cout << endl;
}

return 0;

}
在这个修正后的版本中,cin.ignore(); 用于忽略掉 cin >> n >> m; 之后的换行符。这样可以确保 getline 正确读取每一行的数据。

另外,注意到 jiang[i][h] = a[h]; 这一行,如果输入是字符(例如 ‘0’, ‘1’, ‘2’, …),并且你希望将其转换为整数,你需要减去字符 '0',即 jiang[i][h] = a[h] - '0';。如果输入已经是整数而不是字符,这一步就不需要。
两个问题,要记住

标签:jiang,读取,错误,int,cin,++,getline
From: https://www.cnblogs.com/ghostyu/p/18545784

相关文章

  • GitLab 降级安装出现 500 错误,如何解决?
    本文分享GitLab中文版在降级的过程中出现500错误的修复方法。写在前面强烈不建议大家自行降级,如果真有降级需求,要么自己能力过硬,要么需求专业服务,要不出问题很麻烦!问题复现过程我之前自行安装了一个极狐GitLab私有化部署实例,版本升级到了17.5.1,由于想尝试一下降级的过程......
  • Illegal mix of collations for operation 'UNION' 记录错误
    24-11-12,在DVWA靶场练习回顾SQL注入union注入的时候突然发现,不管搞都报错!Illegalmixofcollationsforoperation'UNION'自己查了好久之后才发现是数据库编码不匹配的问题!!!union两端的字段的collatie(排序规则)不同参考:https://blog.csdn.net/qq_43665434/article/details/......
  • 【软件测试】设计测试用例的方法(正交法、判定表法、错误猜测法),测试文档的写法
    正交法正交试验设计(Orthogonalexperimentaldesign)是研究多因素多⽔平的⼀种设计⽅法,它是根据正交性,由试验因素的全部⽔平组合中挑选出部分有代表性的点进⾏试验,通过对这部分试验结果的分析了解全⾯试验的情况,找出最优的⽔平组合。正交试验设计是⼀种基于正交表的、⾼效......
  • gcc-13.2 grpc 编译错误(absl-cpp build fails)
    使用gcc-13.2编译absl-cpp会出现以下报错:third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:6:warning:elaborated-type-specifierforascopedenummustnotusethe‘class’keyword  34|enumclassFormatConversionChar:uint8_t; ......
  • CATIA许可证时间错误的解决办法
    CATIA作为一款在工程领域广泛应用的软件,其许可证管理对于企业和用户至关重要。然而,有时用户可能会遇到许可证时间错误的问题,影响软件的正常使用。本文将为您提供详细的解决办法,帮助您快速恢复CATIA软件的使用权限。一、了解许可证时间错误的原因在遇到许可证时间错误时,首先需要......
  • LangChain Runnable 组件深度解析:灵活配置、错误处理与生命周期管理
    在LangChain框架中,Runnable组件是构建灵活、可配置的AI应用的核心。本文将深入探讨Runnable组件的高级特性,包括动态参数配置、组件替换、错误处理机制以及生命周期管理。通过掌握这些特性,开发者可以构建更加健壮和可维护的AI应用。1.Runnable组件动态添加默认调用参数......
  • MySQL问题解决记录(1):IP address 'xxx.xxx.xxx.xxx' could not be resolved: 这是在主机
    目录问题描述排查流程解决方案总结问题描述[Warning][MY-010055][Server]IPaddress'xxx.xxx.xxx.xxx'couldnotberesolved:这是在主机名解析时通常出现的暂时错误,它意味着本地服务器没有从权威服务器上收到响应。问题表现:A主机的服务在访问B主机的MySQL数据库时,产......
  • 白骑士的JavaScript教学高级篇之错误处理与调试 4.4.1 错误的类型与处理(try, catch, t
            在JavaScript开发中,错误处理与调试是编写健壮代码的重要组成部分。了解如何有效地捕获和处理错误可以提高应用的稳定性和用户体验。JavaScript提供了几种机制来处理错误,包括‘try‘,‘catch‘,‘throw‘,和‘finally‘。下面将详细介绍这些机制以及它们的......
  • 达梦数据库DM Exception字符串截断错误,略坑~
    前言我之前在使用达梦数据库的时候,遇到了很多很多的问题,主要对达梦数据库也不是很熟悉,它的语法和我所熟悉的mysql和postgresql有很大的区别。今天,讲一下我之前遇到的一个问题。这个问题的起因是用达梦数据库迁移工具,将数据库从postgresql迁移到达梦数据库。迁移之后导致的代码报......
  • 解决java.lang.NoSuchMethodError错误
    背景跑项目的时候遇到java.lang.NoSuchMethodError错误 问题分析`NoSuchMethodError`错误通常是由于类路径问题导致的代码可能依赖了不同版本的库,导致版本之间不兼容可能是`Maven`依赖管理出现问题,导致无法解析依赖库解决方案1.检查版本依赖确认代码中引用的库......