我在给定程序中错了
where i am wrong in given program?
这是我的程序,用于查找给定集合的所有子集。为了解决这个问题,我使用了递归。但是当我在代码块上的窗口中编译它时。它给
此应用程序已请求运行时在 不寻常的方式。
在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 循环
是一个无限循环,每次在向量中push_back元素时,向量大小都会增加,使得条件 i <v.size()>
在循环时,您不断将字符串推送到向量。有无限循环。在循环访问容器时更改容器通常是一个坏主意。
似乎有一个无限循环。程序编译并运行正常,但从不退出
相关文章:
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- 首要问题的答案让值班员搞错了
- 看起来is_nothrow_constructible_v()在MSVC中被破坏了,我错了吗
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 我的C++线程做错了什么?
- 我一直试图弄清楚我在这个链表程序中做错了什么
- 我对这个程序有问题.有人看到我做错了什么吗?对此相当陌生
- PTHREAD_JOIN()似乎导致我的程序悬挂,它在哪里弄错了
- 每当我运行此程序C 时,我都会出现错误.我做错了什么
- 我在给定程序中错了
- 计算器程序总是输出 0 - 我做错了什么
- 素数程序-我做错了什么
- 为什么这个程序会崩溃?我分配内存错了吗
- 我的while程序溢出了?我做错了什么?
- 程序不会编译-我做错了什么
- 我的程序应该摆脱不是数字的字符,但不能完全工作,关于我做错了什么有什么想法吗?
- 我哪里做错了?程序未读取"outstanding"和"unsatisfactory"变量
- C#,我的程序在函数运行后停止运行,我做错了什么
- 基本的c++程序,我做错了什么