Salut!
Am urmatoarea problema:
1. Se cunosc notele obtinute de n elevi la extemporalul de matematica. Sa se realizeze un program care afiseaza:
a) cate note mai mici ca 5 au fost obtinue
b) care este media aritmetica a notelor peste 5
c) cate note de 7 au fost obtinute
d) care este cea mai mare nota obtinuta
Am codul:
#include <iostream>
using namespace std;
int main()
{
int n,v[20],i,nr_notesub5=0,nr_notepeste5=0,s=0,nr_note7=0,maxim;
cout << "n=";
cin >> n;
for(i=0;i<n;i++)
{
cin >> v[i];
if(v[i]<5)
{
nr_notesub5 = nr_notesub5 + 1;
cout << " Numarul notelor sub 5 este " << nr_notesub5 << endl;
}else
cout << " Nu exista note sub 5 " << endl;
if(v[i]>5)
{
s = s + v[i];
nr_notepeste5 = nr_notepeste5 + 1;
float ma = s/nr_notepeste5;
cout << " Media aritmetica a notelor peste 5 este " << ma << endl;
}else
cout << " Nu exista note peste 5 " << endl;
if(v[i]==7)
{
nr_note7 = nr_note7 + 1;
cout << " Numarul notelor de 7 este " << nr_note7 << endl;
}else
cout << " Nu exista note de 7 " << endl;
maxim = v[0];
if(v[i]>maxim)
maxim = v[i];
cout << " Cea mai mare nota obtinuta este " << maxim << endl;
}
return 0;
}
Pentru n = 6 si valorile 4 6 6 7 8 9 mi se afiseaza
Unde am gresit?
Daca rezolv problema cu 4 for-uri se afiseaza datele de iesire corect, dar m-am gandit sa incerc sa o fac cu un singur for, o data cu citirea.
Nu se poate doar cu un singur for?
Multumesc anticipat!