Rezolvare BAC Informatica 2009 – Varianta 36 – Subiectul al III-lea problema 3

Mai jos puteti gasi rezolvarea problemei 3 de la subiectul III din varianta 36 pentru examenul de bacalaureat din anul 2009


#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bac.in");
int cifra(int a) {
if (a == 0)
return 0;
while (a > 0){
if (a % 2 == 0)
return a%10;
a = a/10;
}
return -1;
}
int main() {
int n,i,a,frecv[5];
for (i = 0; i < 5; i++)
frecv[i] = 0;
/* vectorul frecv are doar 5 elemente pentru ca retinem
doar cifrele pare {0,2,4,6,8} si astfel economisim memorie
*/
f>>n;
for (i = 0; i < n; i++){
f>>a;
if (cifra(a) != -1)
frecv[cifra(a)/2]++;
}
for (i = 4; i >= 0; i--) {
while (frecv[i] > 0) {
cout<<i*2;
frecv[i]--;
}
}
return 0;
}

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

One Reply to “Rezolvare BAC Informatica 2009 – Varianta 36 – Subiectul al III-lea problema 3”

  1. Buna! Am o intrebare: de ce nu declarati vectorul de frecventa global in loc sa il initializati mereu cu 0 in main?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *