Я ве получил этот кодC++ станд :: out_of_range вектор :: _ M_range_check
#include <iostream>
#include <cstdio>
#include <vector>
#define NMax 100
using namespace std;
vector <int> v(100);
int n;
FILE* in = freopen("input.in", "r", stdin);
FILE* out = freopen("output.out", "w", stdout);
void afiseaza(){
int i;
for(i = 1; i <= n; i++){
fprintf(out, "%d", v.at(i));
}
fprintf(out, "\n");
}
void bkt(int i){
if(i == n + 1) afiseaza();
else{
int i, j;
for(j = v.at(i-1); j <= n; j++){
v.at(i) = j;
}
bkt(i+1);
}
}
int main()
{
int i, j;
fscanf(in, "%d", &n);
bkt(1);
fclose(in);
fclose(out);
return 0;
}
Он бросает ошибку станд :: out_of_range и я не могу понять, почему размер вектора находится в пределах. Попытался найти дополнительную информацию об ошибке, но не могу найти проблему на моем коде Ty для вашего времени
'размер вектора находится в границах, очевидно, нет. – user657267
, так как у вас есть условие '<= n', то это означает, что' n' должно быть не более 99 – Creris