0
私はatoi、strol、およびstoiを試しましたが、どれも私のために働いていません。私は私が聞いたチャーから '0'を引いてみることさえしようとしましたが、それはあまりにもエラーを投げた。 atoiは私にSegmentation Faultを与えます、ストロークはコンパイルされず、stoiは私にstd論理エラーを与えます。argvの引数をintに変換する
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
bool isPrime(int);
int main (int argc, char *argv[])
{
const int size = 199;
int counter = 1;
int primeAry[size];
for (int i = 0; i < size; i++) // creates an array of prime numbers
{
if (isPrime(i))
{
primeAry[counter] = i;
counter++;
}
}
for (int j = 1; j <= argc; j++) // finds prime numbers by index of args and displays them
{
if (j == 1)
cout << "Last name is " << argv[j] << endl;
else
{
int temp = atoi(argv[j]);
cout << temp << " th prime number is " << primeAry[temp] << endl;
}
}
system("pause");
return 0;
}
bool isPrime(int num)
{
if(num <= 1)
return false;
else if (num <= 3)
return true;
else if (((num % 2) == 0) || (num % 3) == 0)
return false;
int i = 5;
while((i*i) <= num)
{
if ((num % i == 0) || ((num % (i + 2)) == 0))
return false;
i = i + 6;
}
return true;
}
そして、ここで私が得る結果である:ここでは私の全体のプログラムは、今のようです
Last name is smith
1 th prime number is 2
2 th prime number is 3
3 th prime number is 5
Segmentation Fault
私は永遠にこれに取り組んできたと私は私ができるすべてのフォーラムを検索しました見つけることができますが、私は何が欠けているのか理解できません。
ありがとうございました!私はそれが何となく簡単なことになると思った。 – MadelineStates