👤

pbinfo 3656 URGENT
Cerinţa
Scrieţi definiția completă a subprogramului C++ cu antetul:

int FGreater(int a[], int n, int x)
care are trei parametri:

a, prin care primeşte un tablou unidimensional de numere întregi
n, numărul efectiv de elemente ale tabloului a
x, un număr întreg
Funcția returnează cel mai mic număr din a, strict mai mare decât x. În caz că nu există o asemenea valoare, funcția va returna valoarea -1

Restricţii şi precizări
0 ≤ a[i] ≤ 231-1
0 ≤ x ≤ 231-1
numele subprogramului cerut este FGreater
elementele vectorului a sunt indexate de la zero



Exemplu
Dacă n=6, a=(9,15,5,12,19,30), x=10, atunci valoarea returnată este 12. Dacă n=6, a=(9,15,5,12,19,30), x=100, atunci valoarea returnată este -1.

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Răspuns :

Răspuns:

int FGreater(int a[],int n,int x)

{

   int gasit=0, mn;

   for(int i=0; i<n; i++) {

       if(a[i]>x) {

           if (gasit==0) { mn=a[i]; gasit=1;}

           else { if (a[i]<mn) mn=a[i]; }

       }

   }

   if(gasit) return mn;

   return -1;

}

Explicație: