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.
solutia asta da doar 80 si nu stiu ce nu iau in calcul
#include
using namespace std;
ifstream fin ("pozitiex.in");
ofstream fout ("pozitiex.out");
int main()
{
int v[10001],n,i,x,k;
fin>>x>>n;
k=n;
for(i=1;i<=n;i++)
fin>>v[i];
sort(v+1,v+n+1);
for(i=1;i<=n;i++,k--)
if(v[i]==x) break;
if(k!=0) fout<
else cout<<"NU EXISTA";
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Se face cu cautarea binara deoarece e ordonat crescator sirul deja. E mai optim.
Răspuns de
2
if(k!=0) fout<
este incomplet
este incomplet
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă