Tot problema 4, folosind macro-uri:
#include
long max1, max2;
#define max(numar) { (numar) % (2) ? 0 : (numar) > (max1) ? (max2)=(max1),(max1)=(numar) : (numar) > (max2) ? (max2)=(numar) : 0;}
void main()
{
long numar;
ifstream fin("bac.txt");
while(fin>>numar){max(numar);}
cout<fin.close();
}
Nu ma injurati, abia am invatat macro-urile si acum sunt cel mai "tru"

.
@Nuker: Era mai bine sa faci 2 variabile separate decat 1 vector de 1 singur element, pentru ca e accesat mai greu asa. Oricum, la bac nu prea cred ca conteaza

.