am nevoie destul de repede si trebuie să fie în c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int v[100], n, i, pozitive, negative, nule, s, suma, k;
float media;
int main ()
{
cin >> n;
for (i = 1; i <= n; i ++) cin >> v[i];
cout << "cerinta a)" << endl;
pozitive = 0;
negative = 0;
nule = 0;
for (i = 1; i <= n; i ++)
if (v[i] > 0) pozitive ++;
else if (v[i] < 0) negative ++;
else nule ++;
cout << "numarul de numere pozitive este: " << pozitive << endl << "numarul de numere negative este: " << negative << endl << "numarul de numere nule este: " << nule << endl;
cout << "cerinta b)" << endl;
s = 0;
for (i = 1; i <= n; i ++) if (v[i] % 7 == 0) s = s + v[i];
cout << "suma elementelor divizibile cu 7=" << s << endl;
//cerinta c:
cout << "cerinta c)" << endl;
k = 0;
suma = 0;
for (i = 1; i <= n; i ++)
if (v[i]/100 > 0 && v[i]/10%10 == 3) {
suma = suma + v[i];
k ++;
}
media = (float) suma/k;
cout << "media numerelor este: " << media;
return 0;
}
Explicație:
Programul cu tot cu explicatii:
#include <iostream>
using namespace std;
int v[100], n, i, pozitive, negative, nule, s, suma, k;
float media;
int main ()
{
cin >> n;
for (i = 1; i <= n; i ++) cin >> v[i]; /*citim elementele sirului intr-un vector*/
//cerinta a:
cout << "cerinta a)" << endl;
pozitive = 0;
negative = 0;
nule = 0;
for (i = 1; i <= n; i ++)
if (v[i] > 0) pozitive ++; /*daca nr e pozitiv se mareste cu 1 pozitive*/
else if (v[i] < 0) negative ++; /*daca nr e negativ se mareste cu 1 negative*/
else nule ++; /*ramane cazul in care numarul e nul; daca nr e nul se mareste cu 1 nule*/
cout << "numarul de numere pozitive este: " << pozitive << endl << "numarul de numere negative este: " << negative << endl << "numarul de numere nule este: " << nule << endl;
//cerinta b:
cout << "cerinta b)" << endl;
s = 0;
for (i = 1; i <= n; i ++) if (v[i] % 7 == 0) s = s + v[i];
cout << "suma elementelor divizibile cu 7=" << s << endl;
//cerinta c:
cout << "cerinta c)" << endl;
k = 0; /*in k se calculeaza nr de numere care respecta cerinta*/
suma = 0; /*in suma se calculeaza suma numerelor care respecta cerinta*/
for (i = 1; i <= n; i ++)
if (v[i]/100 > 0 && v[i]/10%10 == 3) {
suma = suma + v[i];
k ++;
}
media = (float) suma/k;
cout << "media numerelor este: " << media;
return 0;
}