Se cunosc notele a n elevi la un extemporal. Să se afişeze care este nota maximă la test şi de către câţi elevi a fost obţinută. Exemplu: Pentru n=7 şi notele: 4, 6, 4,8,8,5,8, se va afişa: 'Nota 8 obţinuta de 3 elevi'.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,i,nota,notamax=0, v[11]={0};
cin >> n;
for (i=1; i<=n; ++i)
{
cin >> nota;
++v[nota];
if (nota>notamax)
{
notamax=nota;
}
}
cout << "Nota " << notamax << " obtinuta de " << v[notamax] << " elevi";
return 0;
}
Explicație:
v[11] - vector de frecvenţă a notelor, care din start a fost zerografiat
#include <iostream>
using namespace std;
int main(){
int n, x;
cin >> n;
int notamax = 0, notamaxap = 0;// nota maxima si numar de aparitii
while(n-- > 0){
cin >> x;
if(x > notamax){
notamax = x;
notamaxap = 1;
}else if(x==notamax){
notamaxap++;
}
}
cout << "Nota " << notamax << " obtinuta de " << notamaxap << " elevi";
}
Cand spui ca e "zerografiat" defapt este umplut cu 0-uri la inceput(pentru vectori mari se vede diferenta).