1 / 3
Sep 2019

Hi, this is my code. Do you have any ideas why I’m getting a wrong answer?
Thanks in advance.
#include -<< here is iostream
using namespace std;
#include <math.h> -<< math.h
#include -<< vector

int amount = 0;

void DataProcessor();
void run();
int** dataRange(int amount);
vector primeNumbers(int**, int);
vector fillVector(int lower, int upper);
vector sieveNumbers(int upper);
void riddling(vectorcontrolVector, vector numbers);

void DataProcessor()
{
cin >> amount;
run();
};

void run()
{
int** arr = dataRange(amount);
int counter = 0;
while (counter < amount)
{

	primeNumbers(arr, counter);
	if (counter == amount-1)
		break;
cout << endl;
	counter++;
};
delete[] arr;

};

int** dataRange(int amount)
{
int** arr = new int* [amount];

for (int i = 0; i < amount; i++)
{
	arr[i] = new int[2];
	for (int j = 0; j < 2; j++)
	{
		cin >> arr[i][j];
	}
	if (arr[i][0] < 2)
		arr[i][0] = 2;

}

return arr;

};

vector primeNumbers(int** arr, int counter)
{
int lower = arr[counter][0];
int upper = arr[counter][1];
vector primeNumbers = fillVector(lower, upper);
riddling(sieveNumbers(upper), primeNumbers);

return primeNumbers;

}

vector fillVector(int lower, int upper)
{
vector numbersBase;

for (int i = lower; i <= upper; i++)
{
	numbersBase.push_back(i);
}

return numbersBase;

}
vector sieveNumbers(int upper)
{
vector sieve;

for (int i = 2; i <= sqrt(upper) + 1; i++)
{
	sieve.push_back(i);
}
return sieve;

}

void riddling(vectorcontrolVector, vector numbers)
{
int test = 0;
for (int i = 0; i < controlVector.size(); i++)
{
int size = numbers.size();
for (int j = size; j > i; j–)
{
if (numbers[j - 1] % controlVector[i] == 0 && numbers[j - 1] != controlVector[i])
numbers.erase(numbers.begin() + j - 1);
}
}
int size = numbers.size();
for (int j = 0; j < size; j++)
{
cout << endl << numbers[j];
}

};

int main()
{
DataProcessor();

};

  • created

    Sep '19
  • last reply

    Sep '19
  • 2

    replies

  • 681

    views

  • 2

    users

  • 1

    link

Oh… It was so obvious. Thanks! Have a nice day :slight_smile:

(Sorry for missing link, I didn’t know).