C++ 错误:我的c+;中的大小与上一个大小损坏+;程序
当我在ideone.com上运行代码时,我没有收到任何错误,但当我试图在hackerrank上运行代码时(这是过去的竞赛问题之一),我收到了编译器消息:Abort Called和上面的错误。我无法理解错误是什么。有人能帮我找出错误是什么以及如何解决它吗 对不起,我不确定我的逻辑是否正确 我的代码链接:C++ 错误:我的c+;中的大小与上一个大小损坏+;程序,c++,C++,当我在ideone.com上运行代码时,我没有收到任何错误,但当我试图在hackerrank上运行代码时(这是过去的竞赛问题之一),我收到了编译器消息:Abort Called和上面的错误。我无法理解错误是什么。有人能帮我找出错误是什么以及如何解决它吗 对不起,我不确定我的逻辑是否正确 我的代码链接: #包括 使用名称空间std; 字符串s; 向量v={0}; int main(){ int t; cin>>t; 而(t--) { int n; cin>>n; 而(n--) { cin>>s;
#包括
使用名称空间std;
字符串s;
向量v={0};
int main(){
int t;
cin>>t;
而(t--)
{
int n;
cin>>n;
而(n--)
{
cin>>s;
//b e i n g z r o
//0 1 2 3 4 5 6 7
对于(int i=0;iv.size()
为1,访问v[1]
,…,v[7]
会导致未定义的行为。注意:常规缩进可能会导致很多错误不可能,或者至少非常明显。注意:查看开关和如果则因为如果如果(s[i]='b'| s[i]='b'))
为真,执行后续测试没有意义。
#include <bits/stdc++.h>
using namespace std;
string s;
vector<int> v={0};
int main() {
int t;
cin >>t;
while(t--)
{
int n;
cin >>n;
while(n--)
{
cin >>s;
//b e i n g z r o
//0 1 2 3 4 5 6 7
for(int i=0;i<s.size();i++)
{
if(s[i]=='b' || s[i]=='B')
v[0]++;
if(s[i]=='e' || s[i]=='E')
v[1]++;
if(s[i]=='i' || s[i]=='I')
v[2]++;
if(s[i]=='n' || s[i]=='N')
v[3]++;
if(s[i]=='g' || s[i]=='G')
v[4]++;
if(s[i]=='z' || s[i]=='Z')
v[5]++;
if(s[i]=='r' || s[i]=='R')
v[6]++;
if(s[i]=='o' || s[i]=='O')
v[7]++;
}
}
int num=*min_element(v.begin(),v.end());
if(v[1]==num+1)
{
cout << num<<'\n';
}
else
{
cout << 0 <<"\n";
}
}
return 0;
}