Ciao! Ho questo esercizio:
Dichiarare un vettore a di 10 int, una variabile int b e una variabile int c, riempire con valori letti da standard input il vettore a e la variabile c.
Se tutti i valori contenuti nel vettore a sono maggiori del valore in c, la funzione deve scrivere in b la somma degli elementi di posto pari del vettore a (lo 0 è posto pari). In caso contrario, la funzione deve scrivere in b il numero di valori del vettore a che sono <= c.
Io l'ho risolto in questo modo, ma la somma mi esce sempre 5 dove ho sbagliato?
#include <iostream>
using namespace std;
int main()
{
int i;
int a[10], b, c, conta = 0, somma = 0, conta2 = 0;
for (i = 0; i < 10; i++)
{
cout << "inserisci valori in a: ";
cin >> a[i];
}
cout << " dammi c: ";
cin >> c;
for (i = 0; i < 10; i++)
{
if (a[i]>c)
{
conta++;
}
}
if (conta == 10)
{
for (i = 0; i < 10; i++)
{
if (i % 2 == 0 && i==0)
{
somma = somma + a[i];
}
}
{b = somma; }
}
else {
for (i = 0; i < 10; i++)
{
if (a[i] <= c)
{
conta2++;
}
}
b = conta2;
}
cout << "b: " << b << endl;
system("pause");
return 0;
}