Informatică, întrebare adresată de CiobanuDan2007, 8 ani în urmă

Cerinţa
Se dă un număr natural X şi un şir cu n numere naturale distincte două câte două. Să se determine poziţia pe care s-ar afla numărul X în şirul ordonat crescător.

Date de intrare
Fişierul de intrare pozitiex.in conţine pe prima linie numerele X şi n. Urmează n numere naturale, dispuse pe mai multe linii, separate prin spaţii.

Date de ieşire
Fişierul de ieşire pozitiex.out va conţine pe prima linie numărul p, reprezentând poziţia în şirul ordonat crescător a primului element din şirul dat. Dacă numărul X nu apare în şir, se va afişa mesajul NU EXISTA.

Restricţii şi precizări
1 ≤ n ≤ 10000
X şi elementele şirului vor avea cel mult 9 cifre

Exemplu
pozitiex.in

79 6
267 13 45 628 7 79
pozitiex.out

4

Răspunsuri la întrebare

Răspuns de 1Viserys
4

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

ifstream f;

f.open("pozitiex.in");

ofstream o;

o.open("pozitiex.out");

int x, n, a, existaX=0, poz=1;

f>>x;

f>>n;

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

{

f>>a;

if(a==x) existaX=1;

else if(a<x) poz++;

}

if(existaX) o<<poz;

else o<<"NU EXISTA";

f.close();

o.close();

return 0;

}

Alte întrebări interesante