gpt4 book ai didi

c++ - 我在给定程序中哪里错了?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:06 26 4
gpt4 key购买 nike

这是我的程序,用于查找给定集合的所有子集。为了解决它,我使用了递归。但是当我在代码块上的窗口中编译它时。它给出了

This application has requested the Runtime to terminate it in a unusual way.

而在 gcc 编译器中它没有显示任何答案,没有响应。

#include <iostream>
#include <vector>
#include <string>

using namespace std;

vector<string> findAllSubset(char c, vector<string> v) {
int size = v.size();
if(size == 1) {
v.push_back("");
return v;
}
c = v[size-1][0];
v.pop_back();
v = findAllSubset(c, v);

for(int i = 0; i < v.size(); i++) {
string s= "";
if(v[i].size() == 0){
s += c;
v.push_back(s);
}
else {
s += v[i] + c;
v.push_back( s );
}
}
return v;
}

main() {
vector<string> v, ans;
char c = 65;
v.push_back("a");
v.push_back("b");
//v.push_back("c");
//v.push_back("d");
ans = findAllSubset(c, v);
return 0;
}

最佳答案

for 循环是一个无限循环,每次 vector 中的元素 push_back 时, vector 大小都会增加,使得条件 i < v.size() 始终为真。

关于c++ - 我在给定程序中哪里错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10994166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com