1. Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și afișează elementele vectorului în următoarea ordine: ultimul, primul, penultimul, al doilea, etc.
2. Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și afișează elementele parede exact 2 cifre.
3. Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și returnează suma valorilor elementelor prime cuprinse între primul și ultimul element par al vectorului.
Răspunsuri la întrebare
1.
int main()
{
int n, v[100];
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> v[i];
}
int i = 0, j = n - 1;
while(i < j)
{
cout << v[j] << " " << v[i] << endl;
i++;
j--;
}
if(i == j)
{
cout << v[i] << endl;
}
return 0;
}
2.
int main()
{
int n, v[100];
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> v[i];
}
for(int i = 0; i < n; i++)
{
if(v[i] % 2 == 0 && v[i] < 100 && v[i] > 9)
{
cout << v[i] << " ";
}
}
return 0;
}
3.
bool is_prime(int number)
{
/**
* Function that checks if a given number is prime
*/
if (number == 2)
return true;
else if (number <= 2)
return false;
int divisor = 3;
while (divisor * divisor <= number)
{
if (number % divisor == 0)
return false;
divisor += 2;
}
return true;
}
int main()
{
int n, v[100];
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> v[i];
}
int first_even_position = -1;
int last_even_position = -1;
for(int i = 0; i < n; i++)
{
if(v[i] % 2 == 0)
first_even_position = i;
}
for(int i = n - 1; i >= 0; i--)
{
if(v[i] % 2 == 0)
last_even_position = i;
}
if(first_even_position == last_even_position)
{
cout << "Nu exista cel putin 2 numere pare";
return 0;
}
int sum = 0;
for(int i = first_even_position; i <= last_even_position; i++)
{
if(is_prime(v[i]))
sum += v[i];
}
return 0;
}