Răspuns :
a) Programul citeste numere din fisier, iar daca numarul curent este impar, se salveaza in z, y fiind rescris cu valoarea lui z, pentru a retine ultimul numar impar citit drept penultimul. La final, daca y este -1, sau z, se afiseaza "nu exista", altfel se vor afisa numerele cerute. Algoritmul este eficient din punct de vedere al memoriei utilizate deoarece foloseste un numar restrans de variabile simple. Este eficient si din punct de vedere al timpului de executare deoarece rezolva problema liniar, rezultand o complexitate O(n), n fiind numarul de numere din fisier.
b)
#include<iostream>
#include<fstream>
using namespace std;
int main(){
int x,y=-1,z=-1;
ifstream f("bac.txt");
while(f>>x)
if(x%2==1){
y=z;
z=x;
}
f.close();
if(y==-1||z==-1)
cout<<"nu exista";
else
cout<<y<<' '<<z;
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite!