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

În fişierul text BAC.IN se găsesc, pe o singură linie, separate prin câte un spaţiu, mai multe
numere naturale de cel mult 6 cifre fiecare. Se cere să se determine şi să se afişeze pe
ecran ultimul număr impar din fişierul BAC.IN. Dacă în fişier nu există niciun număr impar
se va scrie pe ecran mesajul "Nu există numere impare".
Exemplu: dacă fişierul BAC.IN conţine valorile: 12 6 25 68 13 8 24 31 42 se va
afişa 31.
a) Descrieţi în limbaj natural un algoritm eficient, din punct de vedere al spaţiului de
memorie şi al timpului de executare, pentru rezolvarea acestei probleme, explicând în ce
constă eficienţa acestuia.
b) Scrieţi programul C/C++ corespunzător algoritmului descris.

Răspunsuri la întrebare

Răspuns de Dropbox
5
b)
#include <bits/stdc++.h>#define N 10001
using namespace std;
ifstream fin("BAC.in");ofstream fout("BAC.out");
int a[N];
int main(){    int n, aux = 0, k = 0;
    fin>>n;
    for(int i = 1; i <= n; i++)    {        fin >> a[i];        if(a[i] % 2 != 0)        {            aux = k;            k = a[i];        }    }    if(k == 0)        fout<< "Nu exista numere impare";    else        fout << k;    return 0;}
Alte întrebări interesante