Rezolvare in C++ plzzz
Răspunsuri la întrebare
Răspuns:
Determina daca elementele vectoriale sunt mai mari decat o valoare dată.
Creeaza un vector numeric. A = [1 12 18 7 9 11 2 15];
Testeaza vectorul pentru elemente mai mari de 10. A > 10
ans = 1x8 matrice logica
0 1 1 0 0 1 0 1
Rezultatul este un vector cu valori de logica 1 (adevarat) în care elementele lui A satisfac expresia. Utilizeaza vectorul valorilor logice ca index pentru a vizualiza valorile din A care sunt mai mari de 10.
A(A > 10)
ans = 1×4
12 18 11 15
Rezultatul este un subset al elementelor din A.
Mai intai, defineste o functie isPrime () pentru a face codul mai lizibil:
bool isPrime(int x)
{
for(int i = 2; i <= x/2; i++)
{
if(x%i == 0)
{
return false;
}
}
return true;
}
Dupa aceea, poti sa scrii in felul urmator:
int main()
{
int input;
cout << "Enter a positive integer: ";
cin >> input;
// Ai de-a face cu numere intregi, deci nu ar trebui sa utilizezi vectorul <double>.
// Deoarece toate numerele sunt pozitive, poti folosi unsigned int
vector<int> primeHolder;
for(int i = 2; i <= input; i++)
{
// Test all values that are not larger than the input value.
if(isPrime(i))
{
// If the tested value is a prime, append it to the vector.
primeHolder.push_back(i);
}
}
cout << "There are " << primeHolder.size() << " primes:" << endl;
for(size_t j = 0; j < primeHolder.size(); j++)
{
// Imprima fiecare număr prim care a fost stocat în vector.
// Poti accesa elemente vectoriale similare cu o matrice,
// dar poti folosi și iteratoare.
cout << primeHolder[j] << endl;
}
return 0;
}