Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include "utils.PRO2"
- #include "Estudiant.hh"
- using namespace std;
- void read(vector<Estudiant>& v, int n) {
- for(int i = 0; i < n; ++i) {
- v[i].llegir();
- }
- }
- vector<Estudiant> simplificar(vector<Estudiant>& v, int n) {
- int i = 0, j = 0;
- while(i < n) {
- int DNI = v[i].consultar_DNI();
- int max = -1;
- if(v[i].te_nota()) {
- max = v[i].consultar_nota();
- }
- int mayor = i;
- while(i < n-1 && DNI == v[i+1].consultar_DNI()) {
- if(v[i+1].te_nota() && v[i+1].consultar_nota() > max) {
- max = v[i+1].consultar_nota();
- mayor = i+1;
- }
- ++i;
- }
- ++i;
- v[j] = v[mayor];
- ++j;
- }
- vector<Estudiant> result(j);
- for(int k = 0; k < j; ++k) {
- result[k] = v[k];
- }
- return result;
- }
- void escribir(const vector<Estudiant>& v, int n) {
- for(int i = 0; i < n; ++i) {
- v[i].escriure();
- }
- }
- int main() {
- int n = readint();
- vector<Estudiant> v(n);
- read(v, n);
- vector<Estudiant> s = simplificar(v, n);
- escribir(s, s.size());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement