相关疑难解决方法(0)

代码在运行后立即崩溃

即使输入最少10个数字,我也没有错误,但我的代码在运行时立即崩溃.我也想知道,如果我有一个问题类似于我已经问过的另一个问题,我应该怎么做,但另一个新问题呢?

#include <iostream>
#include <cmath>
#include <fstream>
#include <cstdlib>
#include <vector>
using namespace std;
int primer(int max);
int main()
{
    primer(5);
    system("pause");
    return 0;
}

int primer(int max){
    vector<int> a;
    a[1]=2;
    for (int i=2;i<=max;i++){
      bool prime=true;
      for (int ii=0;ii<a.size();ii++) {
        if (i/a[ii]==floor(i/a[ii])) {
        prime=false;
        }
      }
      if (prime==true) {
        a.push_back(i);
        }
    }
    for (int iii=0;iii<=a.size();iii++) {
    cout << a[iii] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有错误,但编译后的代码立即崩溃.我改成了

#include <iostream>
#include <cmath>
#include <fstream>
#include <cstdlib>
#include <vector>
using namespace std;
int primer(int max); …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
601
查看次数

无边界阵列?

我遇到了一些麻烦.我写了一个代码来查找一个数字的素数,但由于某种原因,它给了我一个错误,我没有定义我将使用的数组中的元素数量.是否可以使用不限制元素数量的数组?谢谢 :)

#include <iostream>
#include <cmath>
#include <fstream>
#include <cstdlib>
using namespace std;
int primer(int max);
int main()
{
    system("pause");
    return 0;
    primer(1000);
}

int primer(int max){
    int a[]=2;
    for (int i=2;i<=max;i++){
    prime=true;
    for (int ii=1;ii<=#a;ii++) {
    if i/a[ii]==math.floor(i/a[ii]) {
    prime=false;
    }
    }
    if prime==true {
    a[#a+1]=i;
    }
    }
    for (i=1;i<=#a;i++) {
    print(a[i]);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

c++ primes

1
推荐指数
1
解决办法
402
查看次数

标签 统计

c++ ×2

primes ×1