Informatică, întrebare adresată de vcaspirovscaia, 9 ani în urmă

Se cunoaşte că fişierul text LUCR.TXT este alcătuit dintr-un număr par de linii şi conţine în liniile impare numele elevilor, iar în cele pare – notele acestora la o lucrare de control. Numărul maxim al elevilor în clasă – 40. Scrieţi un program care citeşte fişierul dat şi afişează la ecran nota (sau notele, dacă sunt mai multe) luată de numărul maxim de elevi.
Va rog din suflet sa ma ajutati dau coronita!


chisebogdan: Se specifica ca notele sunt intregi sau pot fi si cu zecimale. Ex: 9,5 sau 8, 7

Răspunsuri la întrebare

Răspuns de passbrain123
0
Ti-am facut un program in C++.
Am creat un vector de frecventa, in care numar de cate ori apare fiecare nota. frecNota[i] va retine de cate ori apare nota i.
Caut apoi maximul de frecventa. Apoi verific cate dintre note apar de maxim ori.

#include <iostream>#include <fstream>
using namespace std;
int main(){    int frecvNote[11], nota;    char nume[101];    for (int i=1; i<=10; i++)        frecvNote[i]=0;    ifstream fi("lucr.txt");    while (!fi.eof()) {        fi>>nume;        fi>>nota;        frecvNote[nota]++;    }    fi.close();
    int maxi = frecvNote[1];    for (int i=2; i<=10; i++)        if (frecvNote[i]>maxi) maxi = frecvNote[i];
    for (int i=1; i<=10; i++)        if (frecvNote[i]==maxi) cout<<i<<" ";    return 0;}
Anexe:
Alte întrebări interesante